1<!DOCTYPE html> 2<html class="avada-html-layout-wide avada-html-header-position-top avada-is-100-percent-template" lang="fr-FR" prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#"> 3<head> 4 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 6 <meta name="viewport" content="width=device-width, initial-scale=1" /> 7 <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> 8<!-- Google tag (gtag.js) consent mode dataLayer added by Site Kit -->
9<script id="google_gtagjs-js-consent-mode-data-layer"> 10window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);} 11gtag('consent', 'default', {"ad_personalization":"denied","ad_storage":"denied","ad_user_data":"denied","analytics_storage":"denied","functionality_storage":"denied","security_storage":"denied","personalization_storage":"denied","region":["AT","BE","BG","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GB","GR","HR","HU","IE","IS","IT","LI","LT","LU","LV","MT","NL","NO","PL","PT","RO","SE","SI","SK"],"wait_for_update":500}); 12window._googlesitekitConsentCategoryMap = {"statistics":["analytics_storage"],"marketing":["ad_storage","ad_user_data","ad_personalization"],"functional":["functionality_storage","security_storage"],"preferences":["personalization_storage"]}; 13window._googlesitekitConsents = {"ad_personalization":"denied","ad_storage":"denied","ad_user_data":"denied","analytics_storage":"denied","functionality_storage":"denied","security_storage":"denied","personalization_storage":"denied","region":["AT","BE","BG","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GB","GR","HR","HU","IE","IS","IT","LI","LT","LU","LV","MT","NL","NO","PL","PT","RO","SE","SI","SK"],"wait_for_update":500}; 14</script>
14 15<!-- Terminer le dataLayer du mode Consentement de la balise Google (gtag.js) ajouté par Site Kit --> 16 17 <!-- This site is optimized with the Yoast SEO Premium plugin v28.5 (Yoast SEO v28.5) - https://yoast.com/product/yoast-seo-premium-wordpress/ --> 18 <title>Crooner Radio France | Les plus grands standards internationaux</title> 19 <meta name="description" content="Crooner Radio, la station de radio dâexception qui célèbre le jazz vocal et les grandes voix intemporelles des crooners légendaires et moderne" /> 20 <link rel="canonical" href="https://www.croonerradio.fr/" /> 21 <meta property="og:locale" content="fr_FR" /> 22 <meta property="og:type" content="website" /> 23 <meta property="og:title" content="Crooner Radio - Les plus grands standards de la variété internationale" /> 24 <meta property="og:description" content="Appréciez les voix suaves des plus grands Crooners et Divas de tous les temps en radio numérique DAB+ à Paris, Marseille, Bordeaux, Lyon, Nice, Toulouse, Monaco ... #croonerradio" /> 25 <meta property="og:url" content="https://www.croonerradio.fr/" /> 26 <meta property="og:site_name" content="Crooner Radio - France" /> 27 <meta property="article:publisher" content="https://www.facebook.com/croonerradioDAB" /> 28 <meta property="article:modified_time" content="2026-06-09T14:09:17+00:00" /> 29 <meta property="og:image" content="https://www.croonerradio.fr/wp-content/uploads/2021/12/Crooner-Radio-Plus-quune-radio-un-art-de-vivre-paris-lyon-marseille-nantes-strasbourg-nice-lille-bordeaux-orlean-monaco-radio-numerique-dab.webp" /> 30 <meta property="og:image:width" content="773" /> 31 <meta property="og:image:height" content="459" /> 32 <meta property="og:image:type" content="image/webp" /> 33 <meta name="twitter:card" content="summary_large_image" /> 34 <meta name="twitter:title" content="Crooner Radio - Les plus grands standards de la variété internationale" /> 35 <meta name="twitter:description" content="Appréciez les voix suaves des plus grands Crooners et Divas de tous les temps en radio numérique DAB+ à Paris, Marseille, Bordeaux, Lyon, Nice, Toulouse, Monaco ... #croonerradio" /> 36 <meta name="twitter:site" content="@croonerradio" /> 37
37<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.croonerradio.fr\/","url":"https:\/\/www.croonerradio.fr\/","name":"Crooner Radio France | Les plus grands standards internationaux","isPartOf":{"@id":"https:\/\/www.croonerradio.fr\/#website"},"about":{"@id":"https:\/\/www.croonerradio.fr\/#organization"},"primaryImageOfPage":{"@id":"https:\/\/www.croonerradio.fr\/#primaryimage"},"image":{"@id":"https:\/\/www.croonerradio.fr\/#primaryimage"},"thumbnailUrl":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2021\/11\/LOGO-CROONER-RADIO-TDR-NEUTRE.webp","datePublished":"2023-03-06T17:23:33+00:00","dateModified":"2026-06-09T14:09:17+00:00","description":"Crooner Radio, la station de radio dâexception qui célèbre le jazz vocal et les grandes voix intemporelles des crooners légendaires et moderne","breadcrumb":{"@id":"https:\/\/www.croonerradio.fr\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.croonerradio.fr\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.croonerradio.fr\/#primaryimage","url":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2021\/11\/LOGO-CROONER-RADIO-TDR-NEUTRE.webp","contentUrl":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2021\/11\/LOGO-CROONER-RADIO-TDR-NEUTRE.webp","width":1200,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/www.croonerradio.fr\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil"}]},{"@type":"WebSite","@id":"https:\/\/www.croonerradio.fr\/#website","url":"https:\/\/www.croonerradio.fr\/","name":"Crooner Radio - France","description":"Les plus grands standards de la variété internationale","publisher":{"@id":"https:\/\/www.croonerradio.fr\/#organization"},"alternateName":"Crooner Radio","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.croonerradio.fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.croonerradio.fr\/#organization","name":"Crooner Radio - France","url":"https:\/\/www.croonerradio.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.croonerradio.fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2023\/02\/Logo_crooner_radio_dab_footer.webp","contentUrl":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2023\/02\/Logo_crooner_radio_dab_footer.webp","width":200,"height":200,"caption":"Crooner Radio - France"},"image":{"@id":"https:\/\/www.croonerradio.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/croonerradioDAB","https:\/\/x.com\/croonerradio","https:\/\/mastodon.social\/@croonerradio","https:\/\/www.instagram.com\/croonerradio\/","https:\/\/www.linkedin.com\/company\/crooner-radio\/"],"description":"Crooner Radio, la station de radio dâexception qui célèbre lâart du pop jazz vocal et les grandes voix intemporelles. Conçue pour un public exigeant, une programmation intemporelle où se mêlent l'élégance et le glamour, des crooners légendaires aux crooners modernes et artistes contemporains.","email":"[email protected]","legalName":"CROONER INTERNATIONAL","foundingDate":"2009-04-16","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1","maxValue":"10"}}]}</script>
37 38 <meta name="ahrefs-site-verification" content="N8Mp0TO4GMEmklTGEAx7SA" /> 39 <meta name="msvalidate.01" content="8EFCB947DAB363BC755D7D86F6228F9E" /> 40 <meta name="google-site-verification" content="4MIXcxkjakA4VJpzFL2bIp9_l56wW_wVPKG9F9IlnrM" /> 41 <meta name="p:domain_verify" content="6b5d4e96d2d76d5ab4a4749361ff4e24" /> 42 <meta name="yandex-verification" content="0d0a1410ff5421a2" /> 43 <link rel="me" href="https://mastodon.social/@croonerradio" /> 44 <!-- / Yoast SEO Premium plugin. --> 45 46 47<link rel='dns-prefetch' href='//www.googletagmanager.com' /> 48<link rel='dns-prefetch' href='//pagead2.googlesyndication.com' /> 49<link rel="alternate" type="application/rss+xml" title="Crooner Radio - France » Flux" href="https://www.croonerradio.fr/feed/" /> 50 51 52 53 <meta name="description" content="Actualités 54 55Télécharger 56gratuitement 57notre application 58 59Partout avec vous 60sur votre smartphone & tablette 61 62Stations 63 64Actualités 65 66Derniers Podcasts 67 68Podcasts 69 70Nos derniers podcasts 71Crooner Radio :"/> 72 73 <meta property="og:locale" content="fr_FR"/> 74 <meta property="og:type" content="website"/> 75 <meta property="og:site_name" content="Crooner Radio - France"/> 76 <meta property="og:title" content="Crooner Radio France | Les plus grands standards internationaux"/> 77 <meta property="og:description" content="Actualités 78 79Télécharger 80gratuitement 81notre application 82 83Partout avec vous 84sur votre smartphone & tablette 85 86Stations 87 88Actualités 89 90Derniers Podcasts 91 92Podcasts 93 94Nos derniers podcasts 95Crooner Radio :"/> 96 <meta property="og:url" content="https://www.croonerradio.fr/"/> 97 <meta property="og:image" content="https://www.croonerradio.fr/wp-content/uploads/2021/11/LOGO-CROONER-RADIO-TDR-NEUTRE.png"/> 98 <meta property="og:image:width" content="1200"/> 99 <meta property="og:image:height" content="1200"/> 100 <meta property="og:image:type" content="image/webp"/> 101 102 <style id="wp-img-auto-sizes-contain-inline-css"> 103img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 104/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 105</style> 106 107<style id="global-styles-inline-css"> 108:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--awb-color-1: #ffffff;--wp--preset--color--awb-color-2: #f5f5f7;--wp--preset--color--awb-color-3: #f2f3f5;--wp--preset--color--awb-color-4: #a08053;--wp--preset--color--awb-color-5: #c9b591;--wp--preset--color--awb-color-6: #262626;--wp--preset--color--awb-color-7: #333336;--wp--preset--color--awb-color-8: #000000;--wp--preset--color--awb-color-custom-2: #52462f;--wp--preset--color--awb-color-custom-1: #521720;--wp--preset--color--awb-color-custom-3: #373739;--wp--preset--color--awb-color-custom-4: #1e1e1e;--wp--preset--color--awb-color-custom-5: rgba(28,28,28,0.97);--wp--preset--color--awb-color-custom-6: rgba(0,0,0,0.4);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
108--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 11.25px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 22.5px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--normal: 15px;--wp--preset--font-size--xlarge: 30px;--wp--preset--font-size--huge: 45px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-awb-color-1-color{color: var(--wp--preset--color--awb-color-1) !important;}.has-awb-color-2-color{color: var(--wp--preset--color--awb-color-2) !important;}.has-awb-color-3-color{color: var(--wp--preset--color--awb-color-3) !important;}.has-awb-color-4-color{color: var(--wp--preset--color--awb-color-4) !important;}.has-awb-color-5-color{color: var(--wp--preset--color--awb-color-5) !important;}.has-awb-color-6-color{color: var(--wp--preset--color--awb-color-6) !important;}.has-awb-color-7-color{color: var(--wp--preset--color--awb-color-7) !important;}.has-awb-color-8-color{color: var(--wp--preset--color--awb-color-8) !important;}.has-awb-color-custom-2-color{color: var(--wp--preset--color--awb-color-custom-2) !important;}.has-awb-color-custom-1-color{color: var(--wp--preset--color--awb-color-custom-1) !important;}.has-awb-color-custom-3-color{color: var(--wp--preset--color--awb-color-custom-3) !important;}.has-awb-color-custom-4-color{color: var(--wp--preset--color--awb-color-custom-4) !important;}.has-awb-color-custom-5-color{color: var(--wp--preset--color--awb-color-custom-5) !important;}.has-awb-color-custom-6-color{color: var(--wp--preset--color--awb-color-custom-6) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-awb-color-1-background-color{background-color: var(--wp--preset--color--awb-color-1) !important;}.has-awb-color-2-background-color{background-color: var(--wp--preset--color--awb-color-2) !important;}.has-awb-color-3-background-color{background-color: var(--wp--preset--color--awb-color-3) !important;}.has-awb-color-4-background-color{background-color: var(--wp--preset--color--awb-color-4) !important;}.has-awb-color-5-background-color{background-color: var(--wp--preset--color--awb-color-5) !important;}.has-awb-color-6-background-color{background-color: var(--wp--preset--color--awb-color-6) !important;}.has-awb-color-7-background-color{background-color: var(--wp--preset--color--awb-color-7) !important;}.has-awb-color-8-background-color{background-color: var(--wp--preset--color--awb-color-8) !important;}.has-awb-color-custom-2-background-color{background-color: var(--wp--preset--color--awb-color-custom-2) !important;}.has-awb-color-custom-1-background-color{background-color: var(--wp--preset--color--awb-color-custom-1) !important;}.has-awb-color-custom-3-background-color{background-color: var(--wp--preset--color--awb-color-custom-3) !important;}.has-awb-color-custom-4-background-color{background-color: var(--wp--preset--color--awb-color-custom-4) !important;}.has-awb-color-custom-5-background-color{background-color: var(--wp--preset--color--awb-color-custom-5) !important;}.has-awb-color-custom-6-background-color{background-color: var(--wp--preset--color--awb-color-custom-6) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-awb-color-1-border-color{border-color: var(--wp--preset--color--awb-color-1) !important;}.has-awb-color-2-border-color{border-color: var(--wp--preset--color--awb-color-2) !important;}.has-awb-color-3-border-color{border-color: var(--wp--preset--color--awb-color-3) !important;}.has-awb-color-4-border-color{border-color: var(--wp--preset--color--awb-color-4) !important;}.has-awb-color-5-border-color{border-color: var(--wp--preset--color--awb-color-5) !important;}.has-awb-color-6-border-color{border-color: var(--wp--preset--color--awb-color-6) !important;}.has-awb-color-7-border-color{border-color: var(--wp--preset--color--awb-color-7) !important;}.has-awb-color-8-border-color{border-color: var(--wp--preset--color--awb-color-8) !important;}.has-awb-color-custom-2-border-color{border-color: var(--wp--preset--color--awb-color-custom-2) !important;}.has-awb-color-custom-1-border-color{border-color: var(--wp--preset--color--awb-color-custom-1) !important;}.has-awb-color-custom-3-border-color{border-color: var(--wp--preset--color--awb-color-custom-3) !important;}.has-awb-color-custom-4-border-color{border-color: var(--wp--preset--color--awb-color-custom-4) !important;}.has-awb-color-custom-5-border-color{border-color: var(--wp--preset--color--awb-color-custom-5) !important;}.has-awb-color-custom-6-border-color{border-color: var(--wp--preset--color--awb-color-custom-6) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
108.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-normal-font-size{font-size: var(--wp--preset--font-size--normal) !important;}.has-xlarge-font-size{font-size: var(--wp--preset--font-size--xlarge) !important;}.has-huge-font-size{font-size: var(--wp--preset--font-size--huge) !important;} 109/*# sourceURL=global-styles-inline-css */ 110</style> 111 112<link rel='stylesheet' id='fusion-dynamic-css-css' href='https://www.croonerradio.fr/wp-content/uploads/fusion-styles/ea99468cf56d8b9337215a32740c64ab.min.css?ver=3.16.1' media='all' /> 113 114<!-- Extrait de code de la balise Google (gtag.js) ajouté par Site Kit --> 115<!-- Extrait Google Analytics ajouté par Site Kit -->
vendor: 80 bytes, lines 115-116
115 116<script id="google_gtagjs-js" src="https://www.googletagmanager.com/gtag/js?id=
116GT-TW559W6
vendor: 18 bytes, line 116
116" async></script>
117<script id="google_gtagjs-js-after"> 118window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);} 119gtag("set","linker",{"domains":["www.croonerradio.fr"]}); 120gtag("js", new Date()); 121gtag("set", "developer_id.dZTNiMT", true); 122gtag("config", "GT-TW559W6"); 123//# sourceURL=google_gtagjs-js-after 124</script>
124 125<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.croonerradio.fr/xmlrpc.php?rsd" /> 126 <style> 127 /* AJAX Loading Style */ 128 body.ajax-loading #main { 129 opacity: 0.3; 130 transition: opacity 0.4s; 131 pointer-events: none; 132 } 133 134 /* Global Image Fix */ 135 .radio-logo-layer, 136 .radio-cover, 137 .dy-dd-logo, 138 .dy-dd-cover, 139 .dy-mobile-logo, 140 .dy-mobile-cover { 141 width: 100% !important; 142 height: 100% !important; 143 object-fit: cover !important; 144 display: block !important; 145 max-width: none !important; 146 min-width: 100% !important; 147 min-height: 100% !important; 148 position: absolute !important; 149 top: 0 !important; 150 left: 0 !important; 151 transform: none !important; 152 /* No scaling during transitions */ 153 } 154 155 /* Container strictness */ 156 .dy-img-fixed-container { 157 flex-shrink: 0 !important; 158 position: relative !important; 159 overflow: hidden !important; 160 aspect-ratio: 1 / 1 !important; 161 background: rgba(0, 0, 0, 0.1); 162 /* Placeholder */ 163 } 164 165 166 167 .dy-mini-mobile-bar, 168 .dy-sticky-footer-pc { 169 overflow: visible !important; 170 } 171 172 /* Mini Player Style */ 173 /* CACHE-BUST: 1714326000 */ 174 .radio-display { 175 display: flex; 176 align-items: center; 177 gap: 0; 178 width: 100%; 179 max-width: 480px; 180 position: relative 181 } 182 183 .dy-mini-player.is-mini .radio-text { 184 display: none !important; 185 } 186 187 .dy-mini-player.is-mini { 188 width: auto !important; 189 min-width: unset !important; 190 padding-right: 15px !important; 191 } 192 193 .dy-mini-player { 194 position: relative; 195 } 196 197 .dy-mini-player::after { 198 content: ''; 199 position: absolute; 200 background: #000000; 201 z-index: 10; 202 display: none; 203 } 204 205 :root { 206 --dy-mob-gap: 4px; 207 --dy-mob-size-play: 20px; 208 --dy-mob-size-vol: 20px; 209 --dy-mob-size-list: 20px; 210 --dy-mob-size-fs: 20px; 211 } 212 213 .play-button { 214 font-size: 20px; 215 color: #fff !important; 216 width: auto; 217 min-width: 30px; 218 text-align: left; 219 transition: color .2s; 220 padding-right: 0px; 221 display: inline-flex; 222 align-items: center; 223 justify-content: center; 224 } 225 226 .radio-cover { 227 width: 60px !important; 228 height: 60px !important; 229 min-width: 60px; 230 max-width: 60px; 231 object-fit: cover; 232 border-radius: 5px 233 } 234 235 .radio-text { 236 display: flex; 237 flex-direction: column; 238 justify-content: center; 239 gap: 2px; 240 overflow: hidden; 241 flex: 1; 242 text-align: left 243 } 244 245 .on-air { 246 font-family: 'Inter', sans-serif; 247 font-size: 9px; 248 font-weight: 800; 249 color: #d60000; 250 margin: 0; 251 line-height: 1; 252 animation: dyBlink 1.5s infinite 253 } 254 255 @keyframes dyBlink { 256 257 0%, 258 100% { 259 opacity: 1 260 } 261 262 50% { 263 opacity: .4 264 } 265 } 266 267 @keyframes dyFadeInUp { 268 from { 269 opacity: 0; 270 transform: translateY(10px); 271 } 272 273 to { 274 opacity: 1; 275 transform: translateY(0); 276 } 277 } 278 279 .dy-animate-fade-in { 280 animation: dyFadeInUp 0.5s ease forwards; 281 opacity: 0; 282 } 283 284 @media (max-width: 1100px) { 285 .dy-mini-player .radio-text { 286 display: none !important; 287 } 288 289 .dy-mini-player { 290 width: auto !important; 291 min-width: unset !important; 292 padding-right: 15px !important; 293 } 294 } 295 296 .dy-mobile-fullscreen { 297 background: #000000 !important; } 298 299 .radio-subtitle, 300 .radio-title { 301 font-family: 'Inter', sans-serif; 302 font-size: 14px; 303 font-weight: 700; 304 color: #fff; 305 margin: 0; 306 white-space: nowrap; 307 overflow: hidden; 308 line-height: 1.2; 309 position: relative; 310 transition: opacity 0.3s ease; 311 } 312 313 .radio-title { 314 font-size: 11px; 315 font-weight: 400; 316 opacity: .8 317 } 318 319 .radio-subtitle span, 320 .radio-title span { 321 display: inline-block; 322 } 323 324 /* Dropdown Thumb Alternance & Flip */ 325 .dy-dd-img-wrap { 326 perspective: 1000px; 327 transform-style: preserve-3d; 328 } 329 330 .dy-dd-logo, 331 .dy-dd-cover { 332 backface-visibility: hidden; 333 transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1); 334 will-change: transform, opacity; 335 } 336 337 .dy-dd-logo { 338 transform: rotateY(0deg); 339 z-index: 2; 340 } 341 342 .dy-dd-cover { 343 transform: rotateY(-180deg); 344 opacity: 0; 345 z-index: 1; 346 } 347 348 .dy-mini-dropdown.dy-display-cover .dy-dd-logo, 349 .dy-fs-list-scroll.dy-display-cover .dy-dd-logo, 350 .dy-dropdown-item:hover .dy-dd-logo { 351 transform: rotateY(180deg); 352 opacity: 0 !important; 353 } 354 355 .dy-mini-dropdown.dy-display-cover .dy-dd-cover, 356 .dy-fs-list-scroll.dy-display-cover .dy-dd-cover, 357 .dy-dropdown-item:hover .dy-dd-cover { 358 transform: rotateY(0deg); 359 opacity: 1 !important; 360 } 361 362 .radio-subtitle.is-scrolling span, 363 .radio-title.is-scrolling span { 364 animation: dy-pingpong 15s ease-in-out infinite; 365 } 366 367 .dy-mini-player:not(.dy-podcast-mode) .dy-mini-podcast-control
367s, 368 .dy-mini-player:not(.dy-podcast-mode) .dy-mini-podcast-title { 369 display: none !important; 370 } 371 372 .dy-mini-player.dy-podcast-mode .dy-mini-podcast-title { 373 line-height: 1.2; 374 height: 2.4em; 375 overflow: hidden; 376 display: block !important; 377 white-space: normal !important; 378 } 379 380 .dy-mini-player.dy-podcast-mode .dy-mini-podcast-title span { 381 white-space: normal !important; 382 display: block !important; 383 width: 100%; 384 } 385 386 /* Vertical Volume Popup Style */ 387 .dy-volume-wrap { 388 position: relative; 389 margin-right: 15px; 390 z-index: 2000; 391 display: flex; 392 align-items: center; 393 justify-content: center; 394 width: 32px; 395 height: 32px; 396 cursor: pointer; 397 overflow: visible !important; 398 } 399 400 .dy-volume-toggle-svg { 401 width: 22px; 402 height: 22px; 403 fill: #fff; 404 cursor: pointer; 405 opacity: 0.7; 406 transition: all 0.3s ease; 407 } 408 409 .dy-mini-player .dy-volume-toggle-svg { 410 width: 30px; 411 height: 30px; 412 fill: #595959; 413 } 414 415 .dy-mini-player .dy-volume-wrap { 416 width: 40px; 417 height: 40px; 418 } 419 420 .dy-volume-wrap:hover .dy-volume-toggle-svg { 421 opacity: 1; 422 transform: scale(1.1); 423 } 424 425 .dy-vol-wave { 426 opacity: 0.3; 427 transition: opacity 0.2s; 428 } 429 430 .dy-vol-wave.active { 431 opacity: 1; 432 } 433 434 .dy-vol-mute { 435 display: none; 436 } 437 438 .is-muted .dy-vol-mute { 439 display: block; 440 opacity: 1; 441 } 442 443 .is-muted .dy-vol-wave { 444 display: none; 445 } 446 447 .dy-volume-popup { 448 position: absolute; 449 top: 100%; 450 left: 50%; 451 transform: translateX(-50%) translateY(0); 452 background: rgba(30, 30, 30, 0.5); 453 backdrop-filter: blur(10px); 454 padding: 15px 12px; 455 border-radius: 12px; 456 border: 1px solid rgba(255, 255, 255, 0.1); 457 box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); 458 z-index: 2147483647 !important; 459 visibility: hidden; 460 opacity: 0; 461 transition: opacity 0.2s ease, transform 0.2s ease; 462 pointer-events: none; 463 margin-top: 5px; 464 } 465 466 @media (hover: hover) { 467 .dy-volume-wrap:hover .dy-volume-popup { 468 visibility: visible; 469 opacity: 1; 470 pointer-events: auto; 471 transition-delay: 0s; 472 } 473 } 474 475 /* Invisible bridge for Desktop hover only */ 476 @media (hover: hover) { 477 .dy-volume-wrap:hover::after { 478 content: ''; 479 position: absolute; 480 bottom: 100%; 481 left: 0; 482 width: 100%; 483 height: 15px; 484 background: transparent; 485 z-index: 10; 486 } 487 } 488 489 .dy-volume-wrap.is-active .dy-volume-popup, 490 .dy-volume-wrap[data-active="true"] .dy-volume-popup { 491 visibility: visible !important; 492 opacity: 1 !important; 493 transform: translateX(-50%) translateY(5px); 494 pointer-events: auto !important; 495 transition: none !important; 496 } 497 498 .dy-volume-slider-bg { 499 width: 30px; 500 height: 100px; 501 display: flex; 502 flex-direction: column; 503 align-items: center; 504 cursor: pointer; 505 position: relative; 506 } 507 508 .dy-mini-volume-rail { 509 width: 6px; 510 height: 100px; 511 background: rgba(255, 255, 255, 0.15); 512 border-radius: 3px; 513 position: relative; 514 } 515 516 .dy-mini-volume-fill { 517 position: absolute; 518 left: 0; 519 bottom: 0; 520 width: 100%; 521 background: #fff; 522 border-radius: 3px; 523 height: 100%; 524 box-shadow: 0 0 10px rgba(255, 255, 255, 0.3); 525 } 526 527 /* Specific styles for Mobile Mini Bar Volume Popup */ 528 .dy-mini-mobile-bar .dy-volume-popup, 529 .dy-sticky-footer-pc .dy-volume-popup { 530 background: rgba(0, 0, 0, 0.9) !important; 531 bottom: 100% !important; 532 top: auto !important; 533 margin-bottom: 10px; 534 margin-top: 0;
535 transform: translateX(-50%) translateY(0); 536 } 537 538 .dy-mini-mobile-bar .dy-volume-wrap.is-active .dy-volume-popup, 539 .dy-mini-mobile-bar .dy-volume-wrap[data-active="true"] .dy-volume-popup, 540 .dy-mini-mobile-bar .dy-volume-wrap:hover .dy-volume-popup, 541 .dy-sticky-footer-pc .dy-volume-wrap.is-active .dy-volume-popup, 542 .dy-sticky-footer-pc .dy-volume-wrap[data-active="true"] .dy-volume-popup, 543 .dy-sticky-footer-pc .dy-volume-wrap:hover .dy-volume-popup { 544 visibility: visible !important; 545 opacity: 1 !important; 546 transform: translateX(-50%) translateY(-10px) !important; 547 pointer-events: auto !important; 548 display: block !important; 549 transition: none !important; 550 } 551 552 .dy-volume-wrap.dy-force-hide .dy-volume-popup { 553 visibility: hidden !important; 554 opacity: 0 !important; 555 pointer-events: none !important; 556 transition: none !important; 557 } 558 559 .dy-mini-mobile-bar .dy-mini-volume-rail { 560 background: #c4c4c4 !important; 561 } 562 563 .dy-mini-mobile-bar .dy-mini-volume-fill { 564 background: #ffffff !important; 565 } 566 567 .dy-mini-mobile-bar .dy-mini-volume-fill::after { 568 background: #ffffff !important; 569 } 570 571 .dy-mini-volume-fill::after, 572 .dy-fs-slider-fill::after { 573 content: ''; 574 position: absolute; 575 background: #fff; 576 border-radius: 50%; 577 box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5); 578 z-index: 10; 579 } 580 581 /* Vertical Handle */ 582 .dy-mini-volume-fill::after { 583 top: -8px; 584 left: 50%; 585 transform: translateX(-50%); 586 width: 16px; 587 height: 16px; 588 } 589 590 /* Horizontal Handle */ 591 .dy-fs-slider-fill::after { 592 right: -8px; 593 top: 50%; 594 transform: translateY(-50%); 595 width: 16px; 596 height: 16px; 597 } 598 599 .dy-display-logo .radio-logo-layer { 600 opacity: 1 !important; 601 z-index: 2; 602 } 603 604 .dy-display-logo .radio-cover { 605 opacity: 0 !important; 606 z-index: 1; 607 } 608 609 .dy-display-cover .radio-logo-layer { 610 opacity: 0 !important; 611 z-index: 1; 612 } 613 614 .dy-display-cover .radio-cover { 615 opacity: 1 !important; 616 z-index: 2; 617 } 618 619 .radio-logo-layer, 620 .radio-cover { 621 transition: opacity 0.8s ease; 622 } 623 624 /* Specific styles for Simple player visual assets */ 625 .dy-display-logo .dy-simple-logo-img { 626 opacity: 1 !important; 627 z-index: 2; 628 } 629 630 .dy-display-logo .dy-simple-cover-img { 631 opacity: 0 !important; 632 z-index: 1; 633 } 634 635 .dy-display-cover .dy-simple-logo-img { 636 opacity: 0 !important; 637 z-index: 1; 638 } 639 640 .dy-display-cover .dy-simple-cover-img { 641 opacity: 1 !important; 642 z-index: 2; 643 } 644 645 .dy-simple-logo-img, 646 .dy-simple-cover-img { 647 transition: opacity 0.8s ease; 648 } 649 650 /* Full Carousel Player Style */ 651 .dy-carousel-container { 652 width: 100%; 653 overflow: hidden; 654 position: relative; 655 padding: 10px 0; 656 } 657 658 .dy-carousel-wrapper { 659 display: flex; 660 overflow-x: auto; 661 scroll-snap-type: x mandatory; 662 gap: 12px; 663 padding-bottom: 12px; 664 scroll-behavior: smooth; 665 scrollbar-width: thin; 666 scrollbar-color: #a08053 transparent; 667 } 668 669 .dy-carousel-wrapper.no-sb { 670 scrollbar-width: none; 671 -ms-overflow-style: none; 672 padding-bottom: 0; 673 } 674 675 .dy-carousel-wrapper.no-sb::-webkit-scrollbar { 676 display: none; 677 } 678 679 .dy-carousel-wrapper::-webkit-scrollbar { 680 height: 8px; 681 } 682 683 .dy-carousel-wrapper::-webkit-scrollbar-thumb { 684 background: #a08053; 685 border-radius: 4px; 686 } 687 688 .dy-station-card { 689 flex: 0 0 auto; 690 width: calc((100% - (var(--dy-visible-items, 6) - 1) * 12px) / var(--dy-visible-items, 6)); 691 min-width: 200px; 692 height: 350px; 693 scroll-snap-align: start; 694 border-radius: 10px; 695 display: flex; 696 flex-direction: column; 697 align-items: center; 698 justify-content: center; 699 padding: 20px; 700 box-sizing: border-box; 701 position: relative; 702 color: #fff; 703 cursor: pointer; 704 transition: transform 0.2s; 705 border: none !important; 706 outline: none !important; 707 overflow: hidden; 708 background: transparent !important; 709 } 710 711 .dy-card-bg { 712 position: absolute; 713 inset: 0; 714 z-index: 1; 715 background-size: cover; 716 background-position: center; 717 border-radius: 5px; 718 transition: opacity 0.3s; 719 pointer-events: none; 720 } 721 722 .dy-card-overlay { 723 position: absolute; 724 inset: 0; 725 z-index: 2; 726 pointer-events: none; 727 border-radius: 5px; 728 } 729 730 .dy-station-card:hover { 731 transform: translateY(-3px); 732 } 733 734 .dy-glass-bg { 735 position: absolute; 736 inset: -30px; 737 z-index: 0; 738 background-size: cover; 739 background-position: center; 740 filter: blur(2px) brightness(0.7); 741 pointer-events: none; 742 transition: background-image 0.5s, opacity 0.3s; 743 } 744 745 .dy-cover-container { 746 position: relative; 747 z-index: 5; 748 width: 110px; 749 height: 110px; 750 margin: 0 auto 20px; 751 flex-shrink: 0; 752 perspective: 1000px; 753 } 754 755 .dy-station-cover, 756 .dy-station-logo-layer { 757 position: absolute; 758 inset: 0; 759 width: 100% !important; 760 height: 100% !important; 761 border-radius: 5px; 762 object-fit: cover; 763 transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); 764 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); 765 backface-visibility: hidden; 766 } 767 768 /* --- MODERN FLIP & HOVER LOGIC --- */ 769 770 /* Initial States */ 771 .dy-station-logo-layer { 772 z-index: 2; 773 transform: rotateY(0deg); 774 } 775 776 .dy-station-cover { 777 z-index: 1; 778 transform: rotateY(-180deg); 779 opacity: 0; 780 } 781 782 /* Default visibility based on bg_mode (Logo vs Cover) */ 783 .dy-carousel-container.dy-display-logo .dy-station-logo-layer { 784 opacity: 1 !important; 785 z-index: 2; 786 transform: rotateY(0deg); 787 } 788 789 .dy-carousel-container.dy-display-logo .dy-station-cover { 790 opacity: 0 !important; 791 z-index: 1; 792 transform: rotateY(-180deg); 793 } 794 795 .dy-carousel-container.dy-display-cover .dy-station-logo-layer { 796 opacity: 0 !important; 797 z-index: 1; 798 transform: rotateY(180deg); 799 } 800 801 .dy-carousel-container.dy-display-cover .dy-station-cover { 802 opacity: 1 !important; 803 z-index: 2; 804 transform: rotateY(0deg); 805 } 806 807 /* MODE: FLIP (Inversion) - Logo default: show cover on hover */ 808 .dy-carousel-container.dy-display-logo[data-hover-mode="flip"] .dy-station-card:hover .dy-station-logo-layer { 809 transform: rotateY(180deg) !important; 810 opacity: 0 !important; 811 z-index: 1 !important; 812 } 813 814 .dy-carousel-container.dy-display-logo[data-hover-mode="flip"] .dy-station-card:hover .dy-station-cover { 815 transform: rotateY(0deg) !important; 816 opacity: 1 !important; 817 z-index: 3 !important; 818 } 819 820 /* MODE: FLIP (Inversion) - Cover default: show logo on hover */ 821 .dy-carousel-container.dy-display-cover[data-hover-mode="flip"] .dy-station-card:hover .dy-station-logo-layer { 822 transform: rotateY(0deg) !important; 823 opacity: 1 !important; 824 z-index: 3 !important; 825 } 826 827 .dy-carousel-container.dy-display-cover[data-hover-mode="flip"] .dy-station-card:hover .dy-station-cover { 828 transform: rotateY(-180deg) !important; 829 opacity: 0 !important; 830 z-index: 1 !important; 831 } 832 833 /* MODE: LOGO (Force Logo au survol) */ 834 .dy-carousel-container[data-hover-mode="logo"] .dy-station-card:hover .dy-station-logo-layer { 835 opacity: 1 !important; 836 z-index: 3 !important; 837 transform: rotateY(0deg) !important; 838 } 839 840 .dy-carousel-container[data-hover-mode="logo"] .dy-station-card:hover .dy-station-cover { 841 opacity: 0 !important; 842 z-index: 1 !important; 843 transform: rotateY(-180deg) !important; 844 } 845 846 /* MODE: COVER (Force Pochette au survol) */ 847 .dy-carousel-container[data-hover-mode="cover"] .dy-station-card:hover .dy-station-cover { 848 opacity: 1 !important; 849 z-index: 3 !important; 850 transform: rotateY(0deg) !important; 851 } 852 853 .dy-carousel-container[data-hover-mode="cover"] .dy-station-card:hover .dy-station-logo-layer { 854 opacity: 0 !important; 855 z-index: 1 !important; 856 transform: rotateY(180deg) !important; 857 } 858 859 /* MODE: NONE (Désactivé - pas de changement au survol) */ 860 861 .dy-station-card-info { 862 position: relative; 863 z-index: 5; 864 text-align: center; 865 width: 100%; 866 transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); 867 } 868 869 .dy-station-name, 870 .dy-station-artist, 871 .dy-station-title { 872 font-family: 'Inter', sans-serif; 873 white-space: nowrap; 874 overflow: hidden; 875 text-overflow: ellipsis; 876 width: 100%; 877 text-shadow: none; 878 min-height: 1.2em; 879 transition: opacity 0.3s ease; 880 } 881 882 .dy-station-name { 883 font-size: 10px; 884 font-weight: 400; 885 opacity: 0.7; 886 text-transform: uppercase; 887 margin-bottom: 2px; 888 } 889 890 .dy-station-artist { 891 font-size: 15px; 892 font-weight: 700; 893 margin-bottom: 2px; 894 } 895 896 .dy-station-title { 897 font-size: 12px; 898 font-weight: 400; 899 opacity: 0.9; 900 margin-bottom: 15px; 901 } 902 903 .dy-play-btn { 904 background: rgba(255, 255, 255, 0.2); 905 border: none; 906 color: #fff; 907 padding: 12px 28px; 908 border-radius: 7px; 909 font-size: 14px; 910 font-weight: 600; 911 cursor: pointer; 912 transition: background 0.2s, transform 0.1s; 913 display: inline-flex; 914 align-items: center; 915 justify-content: center; 916 gap: 8px; 917 margin: 0 auto; 918 backdrop-filter: blur(5px); 919 } 920 921 .dy-play-btn:hover { 922 background: rgba(255, 255, 255, 0.4); 923 transform: scale(1.05); 924 color: #fff; 925 } 926 927 .dy-card-active { 928 border: none !important; 929 box-shadow: none !important; 930 } 931 932 .dy-nav-side { 933 position: absolute; 934 top: 50%; 935 transform: translateY(-50%); 936 display: flex; 937 flex-direction: column; 938 align-items: center; 939 gap: 10px; 940 z-index: 10; 941 } 942 943 .dy-nav-side-left { 944 left: 15px; 945 } 946 947 .dy-nav-side-right { 948 right: 15px; 949 } 950 951 .dy-nav-arrow { 952 width: 40px; 953 height: 40px; 954 background: rgba(0, 0, 0, 0.5); 955 color: #fff; 956 border-radius: 50%; 957 display: flex; 958 align-items: center; 959 justify-content: center; 960 cursor: pointer; 961 border: none; 962 transition: background 0.3s, transform 0.2s; 963 } 964 965 .dy-nav-arrow:hover { 966 background: rgba(0, 0, 0, 0.8); 967 transform: scale(1.1); 968 } 969 970 /* Mini Player Styles (Isolated) */ 971 .radio-display.dy-mini-player { 972 position: relative; 973 overflow: visible !important; 974 cursor: pointer; 975 background: linear-gradient(135deg, rgba(255,255,255,0.08) 1%, rgba(0,0,0,1) 54%) !important;padding-left: 10px !important; 976 border-top-left-radius: 10px; 977 border-top-right-radius: 10px; 978 border-bottom-right-radius: 10px; 979 border-bottom-left-radius: 10px; 980 } 981 982 /* Mini Player alternation logic (specific source layers) */ 983 .dy-mini-player.dy-display-logo .radio-logo-layer { 984 opacity: 1 !important; 985 } 986 987 .dy-mini-player.dy-display-logo .radio-cover { 988 opacity: 0 !important; 989 } 990 991 .dy-mini-player.dy-display-cover .radio-logo-layer { 992 opacity: 0 !important; 993 } 994 995 .dy-mini-player.dy-display-cover .radio-cover { 996 opacity: 1 !important; 997 } 998 999 .radio-logo-layer, 1000 .radio-cover { 1001 transition: opacity 0.5s ease; 1002 } 1003 1004 .dy-mini-dropdown { 1005 position: absolute; 1006 top: calc(100% + 10px); 1007 left: 0; 1008 width: 100%; 1009 min-width: 420px; 1010 background: var(--dy-dd-bg, rgba(20, 20, 20, 0.95)) !important; 1011 backdrop-filter: blur(15px); 1012 -webkit-backdrop-filter: blur(15px); 1013 border: 1px solid rgba(255, 255, 255, 0.1); 1014 border-radius: 4px !important; 1015 z-index: 9999; 1016 padding: 15px; 1017 box-shadow: 0 10px 50px rgba(0, 0, 0, 0.7); 1018 opacity: 0; 1019 visibility: hidden; 1020 transform: translateY(-10px); 1021 transition: all 0.3s ease; 1022 max-height: 650px; 1023 overflow-y: auto; 1024 text-align: left; 1025 } 1026 1027 .dy-mini-dropdown.is-active { 1028 opacity: 1;
1029 visibility: visible; 1030 transform: translateY(0); 1031 } 1032 1033 1034 .dy-mini-dropdown::-webkit-scrollbar { 1035 width: 6px; 1036 } 1037 1038 .dy-mini-dropdown::-webkit-scrollbar-thumb { 1039 background: rgba(255, 255, 255, 0.2); 1040 border-radius: 3px; 1041 } 1042 1043 .dy-dropdown-item { 1044 display: flex; 1045 align-items: center; 1046 padding: 12px 15px; 1047 border-radius: 10px; 1048 cursor: pointer; 1049 transition: all 0.2s; 1050 gap: 15px; 1051 color: #fff; 1052 margin-bottom: 4px; 1053 } 1054 1055 .dy-dropdown-item:hover { 1056 background: rgba(255, 255, 255, 0.1); 1057 } 1058 1059 .dy-dropdown-item.is-playing { 1060 background: #b1a18c !important; 1061 border-left: none; 1062 } 1063 1064 .dy-dropdown-item img { 1065 width: 100% !important; 1066 height: 100% !important; 1067 border-radius: inherit; 1068 object-fit: cover !important; 1069 flex-shrink: 0; 1070 box-shadow: none; 1071 position: absolute; 1072 inset: 0; 1073 } 1074 1075 .dy-dd-img-wrap { 1076 position: relative; 1077 width: 55px; 1078 height: 55px; 1079 flex-shrink: 0; 1080 margin-right: 15px; 1081 border-radius: 8px; 1082 overflow: hidden; 1083 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4); 1084 } 1085 1086 .dy-dd-text { 1087 display: flex; 1088 flex-direction: column; 1089 overflow: hidden; 1090 flex: 1; 1091 text-align: left !important; 1092 } 1093 1094 .dy-dd-name { 1095 font-size: 10px; 1096 font-weight: 400; 1097 text-transform: uppercase; 1098 color: #96804f; 1099 margin-bottom: 2px; 1100 } 1101 1102 .dy-dd-artist { 1103 font-size: 13px; 1104 font-weight: bold; 1105 white-space: nowrap; 1106 overflow: hidden; 1107 text-overflow: ellipsis; 1108 line-height: 1.2; 1109 } 1110 1111 .dy-dd-title { 1112 font-size: 12px; 1113 opacity: 0.8; 1114 white-space: nowrap; 1115 overflow: hidden; 1116 text-overflow: ellipsis; 1117 line-height: 1.2; 1118 } 1119 1120 /* Mini Mobile Sidebar Controls Harmony */ 1121 .dy-mobile-controls-group { 1122 display: flex !important; 1123 align-items: center !important; 1124 gap: var(--dy-mob-gap) !important; 1125 margin-left: auto !important; 1126 padding-right: 5px; 1127 } 1128 1129 .dy-mobile-controls-group>div, 1130 .dy-mobile-controls-group>span, 1131 .dy-mobile-controls-group>i { 1132 display: flex !important; 1133 align-items: center !important; 1134 justify-content: center !important; 1135 color: #fff !important; 1136 cursor: pointer !important; 1137 transition: all 0.2s ease; 1138 opacity: 0.7; 1139 width: auto !important; 1140 min-width: 32px; 1141 height: 36px; 1142 padding: 0 var(--dy-mob-gap); 1143 } 1144 1145 .dy-mobile-controls-group>*:active { 1146 transform: scale(0.9); 1147 opacity: 1; 1148 } 1149 1150 .dy-mobile-controls-group .dy-mobile-play { 1151 font-size: var(--dy-mob-size-play) !important; 1152 } 1153 1154 .dy-mobile-controls-group .dy-volume-toggle-svg { 1155 width: var(--dy-mob-size-vol) !important; 1156 height: var(--dy-mob-size-vol) !important; 1157 opacity: 1 !important; 1158 } 1159 1160 .dy-mobile-controls-group .dy-mobile-more { 1161 font-size: var(--dy-mob-size-list) !important; 1162 } 1163 1164 .dy-mobile-controls-group .dy-mobile-fullscreen-toggle { 1165 font-size: var(--dy-mob-size-fs) !important; 1166 } 1167 1168 /* Full Screen Mobile Overlay - Refined modern design */ 1169 .dy-mobile-fullscreen { 1170 position: fixed !important; 1171 inset: 0 !important; 1172 top: 0 !important; 1173 left: 0 !important; 1174 right: 0 !important; 1175 bottom: 0 !important; 1176 width: 100% !important; 1177 width: 100vw !important; 1178 height: 100% !important; 1179 height: 100vh !important; 1180 margin: 0 !important; 1181 border: none !important; 1182 outline: none !important; 1183 box-sizing: border-box !important; 1184 z-index: 9999999 !important; 1185 display: none; 1186 flex-direction: column; 1187 padding: 5% 30px 25% 30px !important; 1188 align-items: center; 1189 justify-content: space-between; 1190 text-align: center; 1191 color: #fff !important; 1192 background: #050505 !important;font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; 1193 backdrop-filter: blur(20px); 1194 } 1195 1196 .dy-mobile-fullscreen::before { 1197 content: ''; 1198 position: absolute; 1199 inset: 0; 1200 background: rgba(0, 0, 0, 0.2); 1201 z-index: -1; 1202 pointer-events: none; 1203 } 1204 1205 .dy-mobile-fullscreen.is-active { 1206 display: flex; 1207 animation: dyFadeIn 0.5s cubic-bezier(0.4, 0, 0.2, 1); 1208 } 1209 1210 .dy-mobile-fullscreen.dy-podcast-mode { 1211 background: rgba(160, 128, 83, 0.1) !important;background-color: rgba(160, 128, 83, 0.1) !important; } 1212 1213 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-list-btn-station-label { 1214 display: none !important; 1215 } 1216 1217 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-list-btn-podcast-label { 1218 display: inline-block !important; 1219 } 1220 1221 .dy-fs-header { 1222 width: 100%; 1223 display: flex; 1224 flex-direction: column; 1225 align-items: center; 1226 gap: 2px; 1227 position: relative; 1228 margin-top: 15% !important; 1229 margin-bottom: -10px; 1230 } 1231 1232 .dy-fs-list-btn { 1233 position: absolute; 1234 top: 3% !important; 1235 right: 25px; 1236 font-size: 20px; 1237 opacity: 0.7; 1238 cursor: pointer; 1239 z-index: 10; 1240 height: 44px;
1241 display: flex; 1242 align-items: center; 1243 justify-content: center; 1244 background: transparent; 1245 border: none; 1246 color: #fff; 1247 transition: all 0.2s; 1248 } 1249 1250 .dy-fs-list-btn:not(.has-text) { 1251 width: 44px; 1252 border-radius: 50%; 1253 } 1254 1255 .dy-fs-list-btn.has-text { 1256 padding: 0 14px; 1257 border-radius: 22px; 1258 gap: 8px; 1259 font-size: 16px; 1260 background: rgba(255, 255, 255, 0.08); 1261 } 1262 1263 .dy-fs-list-btn.has-text i { 1264 font-size: 15px; 1265 } 1266 1267 .dy-fs-list-btn:hover { 1268 opacity: 1; 1269 background: rgba(255, 255, 255, 0.12); 1270 } 1271 1272 .dy-fs-list-btn:active { 1273 background: rgba(255, 255, 255, 0.18); 1274 transform: scale(0.95); 1275 } 1276 1277 .dy-fs-clock { 1278 font-size: 20px; 1279 color: #ffffff; 1280 font-weight: 600; 1281 letter-spacing: 10; 1282 opacity: 1; 1283 text-shadow: none; 1284 font-variant-numeric: tabular-nums; 1285 min-width: 120px; 1286 text-align: center; 1287 font-family: 'Inter', sans-serif; 1288 } 1289 1290 .dy-fs-live-badge { 1291 font-size: 10px; 1292 background: #e60000; 1293 color: #ffffff; 1294 padding: 4px 12px; 1295 border-radius: 20px; 1296 font-weight: 400; 1297 text-transform: uppercase; 1298 letter-spacing: 1px; 1299 box-shadow: 0 0 15px rgba(230,0,0,0.3); 1300 animation: dyPulse 2s infinite; 1301 font-family: inherit; 1302 } 1303 1304 .dy-fs-img-wrap { 1305 position: relative; 1306 width: 220px !important; 1307 height: 220px !important; 1308 max-width: 95vw !important; 1309 max-height: 95vw !important; 1310 aspect-ratio: 1/1; 1311 flex-shrink: 0; 1312 border-radius: 12px; 1313 padding: 0; 1314 margin-top: 10% !important; 1315 background: transparent; 1316 border: none !important; 1317 box-shadow: 0 40px 100px rgba(0, 0, 0, 0.9); 1318 } 1319 1320 .dy-fs-img-inner { 1321 position: relative; 1322 width: 100% !important; 1323 height: 100% !important; 1324 border-radius: 12px; 1325 overflow: hidden; 1326 } 1327 1328 .dy-fs-img-inner img { 1329 position: absolute !important; 1330 inset: 0 !important; 1331 width: 100% !important; 1332 height: 100% !important; 1333 max-width: none !important; 1334 max-height: none !important; 1335 object-fit: cover !important; 1336 transition: opacity 0.6s ease; 1337 border-radius: 12px !important; 1338 margin: 0 !important; 1339 } 1340 1341 .dy-fs-content { 1342 width: 100%; 1343 margin-top: 10% !important; 1344 } 1345 1346 .dy-fs-artist { 1347 font-size: 25px !important; 1348 font-weight: 400 !important; 1349 color: #ffffff !important; 1350 margin-bottom: 8px; 1351 letter-spacing: -0.5px; 1352 line-height: 1.1; 1353 white-space: normal !important; 1354 display: -webkit-box !important; 1355 -webkit-line-clamp: 3; 1356 -webkit-box-orient: vertical; 1357 overflow: hidden; 1358 } 1359 1360 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-artist, 1361 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-title { 1362 display: none !important; 1363 } 1364 1365 .dy-fs-artist.is-scrolling { 1366 white-space: nowrap !important; 1367 display: block !important; 1368 } 1369 1370 .dy-fs-title { 1371 font-size: 16px !important; 1372 color: #ffffff !important; 1373 font-weight: 400 !important; 1374 line-height: 1.4; 1375 display: -webkit-box !important; 1376 -webkit-line-clamp: 3; 1377 -webkit-box-orient: vertical; 1378 overflow: hidden; 1379 } 1380 1381 .dy-fs-title.is-scrolling { 1382 white-space: nowrap !important; 1383 display: block !important; 1384 } 1385 1386 .dy-fs-podcast-title-wrap { 1387 display: none; 1388 } 1389 1390 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-podcast-title-wrap { 1391 display: block !important; 1392 margin-top: 2% !important; 1393 } 1394 1395 .dy-mobile-fullscreen.dy-podcast-mode .dy-mini-podcast-control
1395s { 1396 margin-top: 4% !important; 1397 padding-bottom: 10% !important; 1398 } 1399 1400 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-podcast-progress-row { 1401 margin-bottom: 3% !important; 1402 } 1403 1404 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-podcast-main-ctrls { 1405 margin-top: 5% !important; 1406 margin-bottom: 10% !important; 1407 } 1408 1409 .dy-fs-controls { 1410 width: 100%; 1411 display: flex; 1412 flex-direction: column; 1413 align-items: center; 1414 justify-content: center; 1415 gap: 20px; 1416 padding-bottom: 20% !important; 1417 } 1418 1419 .dy-fs-controls .dy-fs-play { 1420 margin-top: 20% !important; 1421 margin-bottom: 20% !important; 1422 } 1423 1424 .dy-mobile-fullscreen.dy-podcast-mode .dy-fs-controls { 1425 display: none !important; 1426 } 1427 1428 .dy-fs-play { 1429 width: 16; 1430 height: 16; 1431 border-radius: 50%; 1432 background: transparent !important; 1433 background-color: transparent !important; 1434 border: none !important; 1435 outline: none !important; 1436 color: #000000; 1437 display: flex; 1438 align-items: center; 1439 justify-content: center; 1440 font-size: 30px; 1441 cursor: pointer; 1442 box-shadow: none !important; 1443 transition: transform 0.2s; 1444 flex-shrink: 0; 1445 } 1446 1447 .dy-fs-vol-btn { 1448 width: 12; 1449 height: 12; 1450 border-radius: 50%; 1451 background: transparent; 1452 border: none; 1453 color: #000000; 1454 display: flex; 1455 align-items: center; 1456 justify-content: center; 1457 font-size: 30px; 1458 cursor: pointer; 1459 transition: transform 0.2s; 1460 flex-shrink: 0; 1461 } 1462 1463 .dy-fs-vol-wrap { 1464 width: 100% !important; 1465 height: auto !important; 1466 display: flex !important; 1467 justify-content: center !important; 1468 margin-top: 10px; 1469 padding: 10px 0; 1470 } 1471 1472 .dy-fs-slider-bg { 1473 width: 70% !important; 1474 max-width: 250px !important; 1475 height: 4px !important; 1476 background: #f7f7f7 !important; 1477 border-radius: 2px !important; 1478 cursor: pointer !important; 1479 position: relative; 1480 overflow: visible !important; 1481 touch-action: none; 1482 margin: 15px 0 !important; 1483 transition: background 0.3s; 1484 } 1485 1486 /* Invisible hit area for better touch */ 1487 .dy-fs-slider-bg::before { 1488 content: ""; 1489 position: absolute; 1490 inset: -15px 0; 1491 z-index: 1; 1492 } 1493 1494 .dy-fs-slider-fill { 1495 position: absolute; 1496 left: 0; 1497 top: 0; 1498 height: 4px !important; 1499 background: #ababab !important; 1500 width: 100%; 1501 border-radius: 2px; 1502 } 1503 1504 /* Sleek Modern Touch Handle */ 1505 .dy-fs-slider-fill::after { 1506 content: ""; 1507 position: absolute; 1508 right: -7px; 1509 top: 50%; 1510 transform: translateY(-50%); 1511 width: 14px; 1512 height: 14px; 1513 background: #ffffff; 1514 border-radius: 50%; 1515 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4); 1516 transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1); 1517 } 1518 1519 .dy-fs-slider-bg:hover .dy-fs-slider-fill::after, 1520 .dy-fs-slider-bg:active .dy-fs-slider-fill::after { 1521 transform: translateY(-50%) scale(1.25); 1522 } 1523 1524 .dy-fs-play:active, 1525 .dy-fs-vol-btn:active { 1526 transform: scale(0.9); 1527 } 1528 1529 /* Premium Viewport Height Responsiveness */ 1530 @media (max-height: 780px) { 1531 1532 .dy-fs-close, 1533 .dy-fs-list-btn { 1534 height: 36px !important; 1535 } 1536 1537 .dy-fs-clock { 1538 font-size: 24px !important; 1539 } 1540 1541 .dy-fs-img-wrap { 1542 width: 210px !important; 1543 height: 210px !important; 1544 } 1545 1546 .dy-fs-podcast-main-ctrls { 1547 gap: 25px !important; 1548 } 1549 1550 .dy-fs-controls { 1551 gap: 10px !important; 1552 } 1553 1554 .dy-fs-artist { 1555 font-size: 20px !important; 1556 margin-bottom: 5px !important; 1557 } 1558 } 1559 1560 @media (max-height: 680px) { 1561 1562 .dy-fs-close, 1563 .dy-fs-list-btn { 1564 height: 32px !important; 1565 } 1566 1567 .dy-fs-clock { 1568 font-size: 20px !important; 1569 } 1570 1571 .dy-fs-img-wrap { 1572 width: 160px !important; 1573 height: 160px !important; 1574 } 1575 1576 .dy-fs-podcast-main-ctrls { 1577 gap: 20px !important; 1578 } 1579 1580 .dy-fs-controls { 1581 gap: 5px !important; 1582 } 1583 1584 .dy-fs-artist { 1585 font-size: 18px !important; 1586 } 1587 1588 .dy-fs-title { 1589 font-size: 14px !important; 1590 } 1591 } 1592 1593 .dy-fs-close { 1594 position: absolute; 1595 top: 3% !important; 1596 left: 25px; 1597 font-size: 20px; 1598 opacity: 0.7; 1599 cursor: pointer; 1600 z-index: 10; 1601 height: 44px;
1602 display: flex; 1603 align-items: center; 1604 justify-content: center; 1605 background: transparent; 1606 border: none; 1607 color: #fff; 1608 transition: all 0.2s; 1609 } 1610 1611 .dy-fs-close:not(.has-text) { 1612 width: 44px; 1613 border-radius: 50%; 1614 } 1615 1616 .dy-fs-close.has-text { 1617 padding: 0 14px; 1618 border-radius: 22px; 1619 gap: 8px; 1620 font-size: 16px; 1621 background: rgba(255, 255, 255, 0.08); 1622 } 1623 1624 .dy-fs-close.has-text i { 1625 font-size: 15px; 1626 } 1627 1628 .dy-fs-close:hover { 1629 opacity: 1; 1630 background: rgba(255, 255, 255, 0.12); 1631 } 1632 1633 .dy-fs-close:active { 1634 background: rgba(255, 255, 255, 0.18); 1635 transform: scale(0.95); 1636 } 1637 1638 /* FullScreen List Drawer */ 1639 .dy-fs-list-drawer { 1640 position: fixed !important; 1641 inset: 0 !important; 1642 width: 100vw !important; 1643 height: 100vh !important; 1644 background: rgba(0, 0, 0, 0.98) !important; 1645 backdrop-filter: blur(40px); 1646 -webkit-backdrop-filter: blur(40px); 1647 z-index: 99999999 !important; 1648 transform: translateY(100%); 1649 transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); 1650 display: flex; 1651 flex-direction: column; 1652 padding: 40px 25px; 1653 } 1654 1655 .dy-fs-list-drawer.is-active { 1656 transform: translateY(0); 1657 } 1658 1659 .dy-fs-list-scroll { 1660 flex: 1; 1661 overflow-y: auto; 1662 margin-top: 20px; 1663 } 1664 1665 .dy-fs-list-scroll .dy-dropdown-item { 1666 padding: 12px 15px; 1667 border-radius: 10px; 1668 background: transparent; 1669 gap: 15px; 1670 border-bottom: 1px solid rgba(255, 255, 255, 0.05); 1671 } 1672 1673 .dy-fs-list-scroll .dy-dropdown-item:hover { 1674 background: rgba(255, 255, 255, 0.05); 1675 } 1676 1677 .dy-fs-list-scroll .dy-dd-name { 1678 font-size: 8px; 1679 color: #96804f; 1680 opacity: 1; 1681 } 1682 1683 .dy-fs-list-scroll .dy-dd-artist { 1684 font-size: 13px; 1685 font-weight: bold; 1686 color: #fff; 1687 } 1688 1689 .dy-fs-list-scroll .dy-dd-title { 1690 font-size: 11px; 1691 color: rgba(255, 255, 255, 0.8); 1692 } 1693 1694 .dy-fs-list-close { 1695 margin-bottom: 25px; 1696 font-size: 16px; 1697 font-weight: 800; 1698 text-transform: uppercase; 1699 letter-spacing: 2px; 1700 color: #a08053; 1701 display: flex; 1702 justify-content: space-between; 1703 align-items: center; 1704 } 1705 1706 .dy-fs-list-close i { 1707 font-size: 24px; 1708 padding: 5px; 1709 } 1710 1711 .dy-fs-list-modes i { 1712 transition: all 0.3s ease; 1713 } 1714 1715 .dy-fs-list-modes i.is-active { 1716 color: #fff !important; 1717 opacity: 1 !important; 1718 transform: scale(1.2); 1719 } 1720 1721 .dy-fs-list-modes i:not(.is-active) { 1722 color: #fff !important; 1723 opacity: 0.3 !important; 1724 } 1725 1726 .dy-action-card { 1727 padding: 10px 15px; 1728 background: #a08053; 1729 color: #fff !important; 1730 font-weight: 400; 1731 font-size: 12px; 1732 cursor: pointer; 1733 text-align: center; 1734 border-radius: 12px; 1735 margin: 15px 0 15px 0; 1736 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); 1737 display: flex; 1738 align-items: center; 1739 justify-content: center; 1740 gap: 10px; 1741 transition: all 0.3s ease; 1742 border: none; 1743 text-transform: uppercase; 1744 } 1745 1746 .dy-action-card:hover { 1747 transform: translateY(-2px); 1748 box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5); 1749 filter: brightness(1.1); 1750 } 1751 1752 .dy-action-card i { 1753 font-size: 16px; 1754 } 1755 1756 @keyframes dyBlink { 1757 1758 0%, 1759 100% { 1760 opacity: 1;
1761 } 1762 1763 50% { 1764 opacity: 0.5; 1765 } 1766 } 1767 1768 /* Podcast List Styles */ 1769 .dy-podcast-list { 1770 display: flex; 1771 flex-direction: column; 1772 gap: 12px; 1773 margin: 20px 0; 1774 width: 100%; 1775 padding-bottom: 30px; 1776 } 1777 1778 .dy-podcast-main-title { 1779 color: #ffffff; 1780 font-size: 20px; 1781 font-weight: 900; 1782 margin: 0 0 5px 0; 1783 text-transform: uppercase; 1784 letter-spacing: 1.5px; 1785 text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); 1786 } 1787 1788 .dy-podcast-item { 1789 display: flex; 1790 align-items: center; 1791 gap: 15px; 1792 padding: 12px; 1793 background: #141414; 1794 border: 1px solid rgba(255, 255, 255, 0.08); 1795 border-radius: 12px; 1796 cursor: pointer; 1797 transition: all 0.3s; 1798 backdrop-filter: blur(5px); 1799 } 1800 1801 .dy-podcast-item:hover { 1802 filter: brightness(115%); 1803 transform: translateY(-2px); 1804 border-color: rgba(255, 255, 255, 0.2); 1805 } 1806 1807 .dy-podcast-img-wrap { 1808 position: relative; 1809 width: 65px; 1810 height: 65px; 1811 flex-shrink: 0; 1812 border-radius: 8px; 1813 overflow: hidden; 1814 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); 1815 } 1816 1817 .dy-podcast-img-wrap img { 1818 width: 100%; 1819 height: 100%; 1820 object-fit: cover; 1821 } 1822 1823 .dy-podcast-play-overlay { 1824 position: absolute; 1825 inset: 0; 1826 background: rgba(0, 0, 0, 0.4); 1827 display: flex; 1828 align-items: center; 1829 justify-content: center; 1830 opacity: 0; 1831 transition: opacity 0.3s; 1832 color: #fff; 1833 font-size: 18px; 1834 } 1835 1836 .dy-podcast-item:hover .dy-podcast-play-overlay { 1837 opacity: 1; 1838 } 1839 1840 .dy-podcast-share-btn { 1841 margin-left: auto; 1842 width: 36px; 1843 height: 36px; 1844 border-radius: 50%; 1845 display: flex; 1846 align-items: center; 1847 justify-content: center; 1848 background: rgba(255, 255, 255, 0.05); 1849 color: rgba(255, 255, 255, 0.6); 1850 cursor: pointer; 1851 transition: all 0.3s; 1852 border: 1px solid rgba(255, 255, 255, 0.1); 1853 } 1854 1855 .dy-podcast-share-btn:hover { 1856 background: #a08053; 1857 color: #fff; 1858 transform: scale(1.1); 1859 border-color: transparent; 1860 } 1861 1862 .dy-podcast-share-popup { 1863 position: fixed; 1864 z-index: 2147483647; 1865 background: rgba(20, 20, 20, 0.95); 1866 backdrop-filter: blur(20px); 1867 border: 1px solid rgba(255, 255, 255, 0.1); 1868 border-radius: 15px; 1869 padding: 15px; 1870 display: none; 1871 flex-direction: column; 1872 gap: 10px; 1873 box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5); 1874 min-width: 180px; 1875 } 1876 1877 .dy-podcast-share-popup.is-active { 1878 display: flex; 1879 } 1880 1881 .dy-share-option { 1882 display: flex; 1883 align-items: center; 1884 gap: 12px; 1885 color: #fff; 1886 text-decoration: none; 1887 padding: 8px 12px; 1888 border-radius: 8px; 1889 transition: background 0.2s; 1890 font-size: 14px; 1891 } 1892 1893 .dy-share-option:hover { 1894 background: rgba(255, 255, 255, 0.1); 1895 color: #a08053; 1896 } 1897 1898 .dy-share-option i { 1899 width: 20px; 1900 text-align: center; 1901 } 1902 1903 .dy-share-header { 1904 display: flex; 1905 align-items: center; 1906 gap: 12px; 1907 margin-bottom: 15px; 1908 padding-bottom: 12px; 1909 border-bottom: 1px solid rgba(255, 255, 255, 0.1); 1910 } 1911 1912 .dy-share-cover { 1913 width: 50px; 1914 height: 50px; 1915 border-radius: 8px; 1916 object-fit: cover; 1917 box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); 1918 } 1919 1920 .dy-share-info { 1921 flex: 1; 1922 overflow: hidden; 1923 } 1924 1925 /* Compact Grid Layout for Share */ 1926 .dy-share-grid { 1927 display: grid; 1928 grid-template-columns: repeat(3, 1fr); 1929 gap: 8px; 1930 width: 100%; 1931 } 1932 1933 .dy-share-option-compact { 1934 display: flex; 1935 flex-direction: column; 1936 align-items: center; 1937 justify-content: center; 1938 gap: 6px; 1939 background: rgba(255, 255, 255, 0.05); 1940 padding: 10px 5px; 1941 border-radius: 12px; 1942 color: var(--dy-share-text-col, #fff); 1943 text-decoration: none !important; 1944 font-size: 9px; 1945 font-weight: 600; 1946 text-transform: uppercase; 1947 letter-spacing: 0.3px; 1948 transition: all 0.2s ease; 1949 border: 1px solid rgba(255, 255, 255, 0.05); 1950 } 1951 1952 .dy-share-option-compact:hover { 1953 background: rgba(160, 128, 83, 0.15); 1954 border-color: rgba(160, 128, 83, 0.3); 1955 color: var(--dy-share-icon-col, #a08053); 1956 transform: translateY(-2px); 1957 } 1958 1959 .dy-share-option-compact i, 1960 .dy-share-option-compact svg { 1961 font-size: 18px; 1962 color: var(--dy-share-icon-col, #a08053); 1963 } 1964 1965 .dy-share-header.compact { 1966 margin-bottom: 12px; 1967 padding-bottom: 10px; 1968 gap: 10px; 1969 } 1970 1971 .dy-share-header.compact .dy-share-cover { 1972 width: 38px; 1973 height: 38px; 1974 border-radius: 6px; 1975 } 1976 1977 .dy-share-header.compact .dy-share-title { 1978 font-size: 12px; 1979 line-height: 1.2; 1980 display: -webkit-box; 1981 -webkit-line-clamp: 1; 1982 -webkit-box-orient: vertical; 1983 overflow: hidden; 1984 } 1985 1986 .dy-share-header.compact .dy-share-author { 1987 font-size: 9px; 1988 opacity: 0.6; 1989 } 1990 1991 .dy-share-title { 1992 color: #fff; 1993 font-size: 13px; 1994 font-weight: 700; 1995 white-space: nowrap; 1996 overflow: hidden; 1997 text-overflow: ellipsis; 1998 margin-bottom: 2px; 1999 } 2000 2001 .dy-share-author { 2002 color: rgba(255, 255, 255, 0.5); 2003 font-size: 11px; 2004 white-space: nowrap; 2005 overflow: hidden; 2006 text-overflow: ellipsis; 2007 } 2008 2009 .dy-podcast-info { 2010 flex: 1; 2011 overflow: hidden; 2012 } 2013 2014 .dy-podcast-date { 2015 font-size: 10px; 2016 color: #a08053; 2017 font-weight: 700; 2018 text-transform: uppercase; 2019 display: block; 2020 margin-bottom: 2px; 2021 } 2022 2023 .dy-podcast-title { 2024 font-size: 15px; 2025 color: #ffffff; 2026 font-weight: 400; 2027 margin: 0 0 2px 0; 2028 white-space: nowrap; 2029 overflow: hidden; 2030 text-overflow: ellipsis; 2031 } 2032 2033 .dy-podcast-meta { 2034 font-size: 12px; 2035 color: #ffffff; 2036 display: block; 2037 } 2038 2039 /* Mobile Mini Player Bar */ 2040 .dy-mini-mobile-bar { 2041 position: fixed; 2042 left: 10px !important; 2043 right: 10px !important; 2044 width: calc(100% - 20px) !important; 2045 max-width: calc(100% - 20px) !important; 2046 border: 1px solid rgba(255, 255, 255, 0.15) !important; 2047 z-index: 999999999 !important; 2048 height: 65px; 2049 border-radius: 10px !important; 2050 background: rgba(0,0,0,0.7) !important; 2051 backdrop-filter: blur(10px); 2052 -webkit-backdrop-filter: blur(10px); 2053 display: none; 2054 align-items: center; 2055 padding: 10px 5px 10px 15px; 2056 box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3); 2057 color: #fff; 2058 cursor: pointer; 2059 overflow: visible !important; 2060 gap: 5px; 2061 box-sizing: border-box; 2062 } 2063 2064 .dy-mini-mobile-bar .dy-volume-wrap { 2065 margin-right: 0 !important; 2066 transform: scale(1.15); 2067 } 2068 2069 .dy-mini-mobile-bar.pos-bottom { 2070 bottom: 1% !important; 2071 } 2072 2073 .dy-mini-mobile-bar.pos-top { 2074 top: 1% !important; 2075 } 2076 2077 .dy-mini-mobile-bar.dy-podcast-mode { 2078 height: 85px !important; 2079 border-top-left-radius: 0 !important; 2080 border-top-right-radius: 0 !important; 2081 /* V4.6: Vertical stack optimization */ 2082 } 2083 2084 .dy-mini-mobile-bar.dy-podcast-mode .dy-podcast-mode-only { 2085 display: flex !important; 2086 flex-direction: column !important; 2087 justify-content: center !important; 2088 width: 100% !important; 2089 } 2090 2091 .dy-mini-mobile-bar.dy-podcast-mode .dy-podcast-mode-label { 2092 display: block !important; 2093 margin-bottom: 2px !important; 2094 } 2095 2096 .dy-mini-mobile-bar.dy-podcast-mode .on-air, 2097 .dy-mini-mobile-bar.dy-podcast-mode .radio-subtitle, 2098 .dy-mini-mobile-bar.dy-podcast-mode .radio-title { 2099 display: none !important; 2100 } 2101 2102 .dy-mini-mobile-bar:not(.dy-podcast-mode) .dy-podcast-mode-only { 2103 display: none !important; 2104 } 2105 2106 .dy-mini-mobile-bar .dy-mini-podcast-title { 2107 white-space: nowrap !important; 2108 overflow: hidden !important; 2109 text-overflow: ellipsis !important; 2110 display: block !important; 2111 margin: 0 !important; 2112 flex: 1 !important; 2113 min-width: 0 !important; 2114 font-size: 13px !important; 2115 } 2116
2117 .dy-mini-mobile-bar .dy-mini-podcast-controls { 2118 display: flex !important; 2119 flex-direction: row !important; 2120 flex-wrap: nowrap !important; 2121 align-items: center !important; 2122 justify-content: flex-start !important; 2123 gap: 0 !important; 2124 margin-top: 2px !important; 2125 width: auto !important; 2126 /* Changed from 100% to auto to prevent forced expansion */ 2127 line-height: 1 !important; 2128 } 2129 2130 .dy-mini-mobile-bar .dy-mini-podcast-controls .dy-podcast-skip { 2131 margin: 0 !important; 2132 display: inline-flex !important; 2133 align-items: center !important; 2134 justify-content: center !important; 2135 flex-shrink: 0 !important; 2136 width: 18px !important; 2137 height: 18px !important; 2138 margin-right: -1px !important; 2139 } 2140 2141 .dy-mini-mobile-bar .dy-mini-podcast-controls .dy-podcast-skip i { 2142 font-size: 12px !important; 2143 } 2144 2145 .dy-mini-mobile-bar .dy-mini-podcast-controls .dy-podcast-time { 2146 margin-left: 0 !important; 2147 font-size: 11px !important; 2148 font-weight: 600 !important; 2149 min-width: 24px !important; 2150 text-align: right !important; 2151 } 2152 2153 /* Fixed progress bar at top of mobile bar */ 2154 .dy-mini-mobile-bar .dy-podcast-progress-bg { 2155 position: absolute !important; 2156 top: 0 !important; 2157 left: 0 !important; 2158 width: 100% !important; 2159 height: 4px !important; 2160 z-index: 100 !important; 2161 background: rgba(255, 255, 255, 0.1) !important; 2162 display: flex !important; 2163 align-items: center !important; 2164 } 2165 2166 .dy-mini-mobile-bar .dy-podcast-progress-fill { 2167 height: 100% !important; 2168 background: #a08053 !important; 2169 width: 0%; 2170 position: absolute !important; 2171 left: 0 !important; 2172 top: 0 !important; 2173 } 2174 2175 /* Volume Popup adjustment for mobile bar fixed at bottom */ 2176 .dy-mini-mobile-bar .dy-volume-popup { 2177 bottom: 110% !important; 2178 top: auto !important; 2179 left: auto !important; 2180 transform: translateX(0) translateY(0); 2181 margin-bottom: 10px; 2182 margin-top: 0; 2183 } 2184 2185 .dy-mini-mobile-bar .dy-volume-wrap:hover .dy-volume-popup, 2186 .dy-mini-mobile-bar .dy-volume-wrap.is-active .dy-volume-popup { 2187 transform: translateX(0) translateY(-10px); 2188 visibility: visible !important; 2189 opacity: 1 !important; 2190 pointer-events: auto !important; 2191 transition: none !important; 2192 display: flex !important; 2193 } 2194 2195 .dy-mini-mobile-bar .dy-volume-slider-bg { 2196 width: 50px; 2197 } 2198 2199 .dy-mini-mobile-bar .dy-volume-popup::before { 2200 display: none !important; 2201 } 2202 2203 /* Dropdown adjustment for mobile bar fixed at bottom */ 2204 .dy-mini-mobile-bar.pos-bottom .dy-mini-dropdown { 2205 bottom: calc(100% + 15px); 2206 top: auto; 2207 transform: translateY(10px); 2208 border-radius: 4px !important; 2209 width: calc(100% - 30px); 2210 left: 15px; 2211 min-width: 0; 2212 } 2213 2214 .dy-mini-mobile-bar.pos-bottom .dy-mini-dropdown.is-active { 2215 transform: translateY(0); 2216 } 2217 2218 /* Dropdown adjustment for mobile bar fixed at top */ 2219 .dy-mini-mobile-bar.pos-top .dy-mini-dropdown { 2220 top: calc(100% + 15px); 2221 bottom: auto; 2222 transform: translateY(-10px); 2223 border-radius: 4px !important; 2224 width: calc(100% - 30px); 2225 left: 15px; 2226 min-width: 0; 2227 } 2228 2229 .dy-mini-mobile-bar.pos-top .dy-mini-dropdown.is-active { 2230 transform: translateY(0); 2231 } 2232 2233 .dy-mobile-logo { 2234 width: 45px; 2235 height: 45px; 2236 border-radius: 6px; 2237 object-fit: cover; 2238 flex-shrink: 0; 2239 } 2240 2241 .dy-mini-mobile-bar .radio-logo-layer, 2242 .dy-mini-mobile-bar .radio-cover { 2243 width: 45px !important; 2244 height: 45px !important; 2245 min-width: 45px !important; 2246 max-width: 45px !important; 2247 object-fit: cover !important; 2248 border-radius: 6px; 2249 } 2250 2251 .dy-mobile-subtitle, 2252 .radio-subtitle, 2253 .dy-mobile-title, 2254 .radio-title { 2255 white-space: nowrap; 2256 overflow: hidden; 2257 position: relative; 2258 } 2259 2260 .dy-mobile-subtitle span, 2261 .radio-subtitle span, 2262 .dy-mobile-title span, 2263 .radio-title span { 2264 display: inline-block; 2265 } 2266 2267 .dy-mobile-subtitle.is-scrolling span, 2268 .radio-subtitle.is-scrolling span, 2269 .dy-mobile-title.is-scrolling span, 2270 .radio-title.is-scrolling span { 2271 animation: dy-pingpong 15s ease-in-out infinite; 2272 } 2273 2274 .dy-mobile-text { 2275 flex: 1; 2276 overflow: hidden; 2277 min-width: 0; 2278 display: flex; 2279 flex-direction: column; 2280 justify-content: center; 2281 padding-left: 6px; 2282 } 2283 2284 .dy-mobile-subtitle, 2285 .radio-subtitle { 2286 font-size: 13px; 2287 font-weight: 700; 2288 line-height: 1.2; 2289 } 2290 2291 .dy-mobile-title, 2292 .radio-title { 2293 font-size: 11px; 2294 opacity: 0.8; 2295 line-height: 1.2; 2296 } 2297 2298 /* Harmonized Control Icons on Mobile */ 2299 .dy-mobile-play, 2300 .dy-mobile-more, 2301 .dy-volume-wrap { 2302 width: 36px; 2303 height: 36px; 2304 display: flex; 2305 align-items: center; 2306 justify-content: center; 2307 flex-shrink: 0; 2308 } 2309 2310 .dy-mobile-play { 2311 font-size: 22px; 2312 color: #000000 !important; 2313 cursor: pointer; 2314 } 2315 2316 .dy-mobile-more { 2317 font-size: 20px; 2318 color: #fff; 2319 opacity: 0.7; 2320 cursor: pointer; 2321 } 2322 2323 .dy-volume-toggle-svg { 2324 width: 28px; 2325 height: 28px; 2326 fill: #fff; 2327 opacity: 0.7; 2328 cursor: pointer; 2329 } 2330
2331 .dy-mobile-controls-group { 2332 display: flex; 2333 align-items: center; 2334 gap: 8px; 2335 margin-left: auto; 2336 } 2337 2338 /* PC SIDEBAR STYLES (v4.6) */ 2339 .dy-sticky-footer-pc { 2340 position: fixed; 2341 left: 50%; 2342 transform: translateX(-50%) translateY(30px); 2343 width: 90%; 2344 min-width: 980px; 2345 max-width: 1400px; 2346 z-index: 2147483640 !important; 2347 height: 80px; 2348 display: flex; 2349 align-items: center; 2350 padding: 0 40px; 2351 gap: 30px; 2352 box-shadow: 0 15px 50px rgba(0, 0, 0, 0.5); 2353 color: #fff; 2354 border-radius: 15px; 2355 opacity: 0; 2356 pointer-events: none; 2357 transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); 2358 overflow: visible !important; 2359 cursor: pointer; 2360 background: rgba(46,46,46,0.8) !important; 2361 background-color: rgba(46,46,46,0.8) !important; 2362 backdrop-filter: blur(10px) !important; 2363 -webkit-backdrop-filter: blur(10px) !important; 2364 border: 1px solid rgba(255, 255, 255, 0.1) !important; 2365 color: #dedede !important; 2366 } 2367 2368 .dy-sticky-footer-pc.is-visible { 2369 opacity: 1; 2370 pointer-events: auto; 2371 transform: translateX(-50%) translateY(0); 2372 visibility: visible !important; 2373 } 2374 2375 .dy-sticky-footer-pc.pos-bottom { 2376 bottom: 30px; 2377 } 2378 2379 .dy-sticky-footer-pc.pos-top { 2380 top: 30px; 2381 transform: translateX(-50%) translateY(-30px); 2382 } 2383 2384 .dy-sticky-footer-pc.pos-top.is-visible { 2385 transform: translateX(-50%) translateY(0); 2386 } 2387 2388 .dy-sticky-footer-pc .dy-pc-left { 2389 display: flex; 2390 align-items: center; 2391 gap: 20px; 2392 flex: 1; 2393 overflow: hidden; 2394 } 2395 2396 .dy-sticky-footer-pc .dy-pc-right { 2397 display: flex !important; 2398 align-items: center; 2399 gap: 25px; 2400 margin-left: auto; 2401 flex-shrink: 0; 2402 } 2403 2404 /* Interactive elements - Classy Transitions */ 2405 .dy-sticky-footer-pc .dy-pc-right .dy-pc-btn-podcast, 2406 .dy-sticky-footer-pc .dy-pc-right .dy-pc-btn-radio, 2407 .dy-sticky-footer-pc .dy-pc-right .dy-pc-btn-cast, 2408 .dy-sticky-footer-pc .dy-pc-right .dy-volume-toggle-svg, 2409 .dy-sticky-footer-pc .play-button, 2410 .dy-sticky-footer-pc .dy-pc-skip { 2411 color: #dedede !important; 2412 opacity: 0.8; 2413 transition: all 0.1s ease-in-out !important; 2414 cursor: pointer; 2415 background: transparent !important; 2416 } 2417 2418 .dy-sticky-footer-pc .dy-pc-right .dy-pc-btn-podcast:hover:not(.disabled), 2419 .dy-sticky-footer-pc .dy-pc-right .dy-pc-btn-radio:hover:not(.disabled), 2420 .dy-sticky-footer-pc .dy-pc-right .dy-pc-btn-cast:hover:not(.disabled), 2421 .dy-sticky-footer-pc .dy-pc-right .dy-volume-toggle-svg:hover:not(.disabled) { 2422 opacity: 1 !important; 2423 transform: translateY(-2px) scale(1.02); 2424 filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.3)); 2425 } 2426 2427 .dy-sticky-footer-pc .play-button { 2428 font-size: 34px; 2429 color: #ffffff !important; 2430 min-width: 50px; 2431 display: flex; 2432 align-items: center; 2433 justify-content: center; 2434 } 2435 2436 .dy-sticky-footer-pc .play-button:hover:not(.disabled) { 2437 transform: scale(1.08); 2438 filter: drop-shadow(0 0 0px rgba(255,255,255,0)); 2439 } 2440 2441 .dy-sticky-footer-pc .dy-pc-skip:hover:not(.disabled) { 2442 transform: scale(1.05); 2443 filter: brightness(1.1) drop-shadow(0 4px 10px rgba(0, 0, 0, 0.2)); 2444 } 2445 2446 /* Disabled state - No hover, no pointer events */ 2447 .dy-sticky-footer-pc .disabled, 2448 .dy-sticky-footer-pc i.disabled, 2449 .dy-sticky-footer-pc svg.disabled, 2450 .dy-sticky-footer-pc .play-button.disabled, 2451 .dy-sticky-footer-pc .dy-pc-skip.disabled { 2452 opacity: 0.15 !important; 2453 cursor: default !important; 2454 pointer-events: none !important; 2455 transform: none !important; 2456 filter: none !important; 2457 } 2458 2459 .dy-sticky-footer-pc .radio-logo-layer, 2460 .dy-sticky-footer-pc .radio-cover { 2461 width: 55px !important; 2462 height: 55px !important; 2463 border-radius: 4px; 2464 } 2465 2466 .dy-sticky-footer-pc .radio-text { 2467 gap: 2px; 2468 display: flex; 2469 flex-direction: column; 2470 justify-content: center; 2471 min-width: 0; 2472 } 2473 2474 .dy-sticky-footer-pc .radio-subtitle { 2475 font-size: 16px; 2476 font-weight: 700; 2477 color: #fff; 2478 line-height: 1.2; 2479 transition: opacity 0.3s ease; 2480 } 2481 2482 .dy-sticky-footer-pc .radio-title { 2483 font-size: 13px; 2484 opacity: 0.7; 2485 line-height: 1.2; 2486 transition: opacity 0.3s ease; 2487 } 2488 2489 .dy-sticky-footer-pc .on-air { 2490 background: none !important; 2491 padding: 0 !important; 2492 font-size: 9px; 2493 font-weight: 800; 2494 letter-spacing: 1px; 2495 color: #d60000 !important; 2496 animation: dyBlink 1.5s infinite !important; 2497 margin-bottom: 2px; 2498 line-height: 1; 2499 text-transform: uppercase; 2500 } 2501 2502 /* MOBILE ONLY PROGRESS BAR */ 2503 .dy-mini-mobile-bar .dy-podcast-progress-bg { 2504 position: absolute !important; 2505 bottom: 100% !important; 2506 top: auto !important; 2507 left: 0 !important; 2508 width: 100% !important; 2509 height: 6px !important; 2510 /* Visual height */ 2511 background: rgba(126,117,103,1) !important; 2512 z-index: 2147483647 !important; 2513 display: none !important; 2514 cursor: pointer !important; 2515 pointer-events: auto !important; 2516 margin: 0 !important; 2517 padding: 0 !important; 2518 transition: height 0.2s ease, transform 0.2s ease !important; 2519 } 2520 2521 /* Hitbox invisible pour le mobile (TikTok Style) */ 2522 .dy-mini-mobile-bar .dy-podcast-progress-bg::after { 2523 content: ""; 2524 position: absolute; 2525 top: -20px; 2526 /* Even larger hit area */ 2527 left: 0; 2528 right: 0; 2529 height: 40px; 2530 background: transparent !important; 2531 z-index: 10; 2532 } 2533 2534 /* Interaction expansion */ 2535 .dy-mini-mobile-bar .dy-podcast-progress-bg:active, 2536 .dy-mini-mobile-bar .dy-podcast-progress-bg:hover { 2537 height: 10px !important; 2538 } 2539 2540 .dy-mini-mobile-bar.dy-podcast-mode .dy-podcast-progress-bg { 2541 display: flex !important; 2542 } 2543 2544 .dy-mini-mobile-bar .dy-podcast-progress-fill { 2545 height: 100% !important; 2546 width: 0%; 2547 background: #a08053 !important; 2548 box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); 2549 transition: width 0.3s linear; 2550 position: relative; 2551 z-index: 2; 2552 } 2553 2554 /* Scrubber dot (TikTok style) */ 2555 .dy-mini-mobile-bar .dy-podcast-progress-fill::after { 2556 content: ""; 2557 position: absolute; 2558 right: -6px; 2559 top: 50%; 2560 transform: translateY(-50%) scale(0); 2561 width: 14px; 2562 height: 14px; 2563 background: #fff; 2564 border-radius: 50%; 2565 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4); 2566 transition: transform 0.2s ease; 2567 z-index: 15; 2568 pointer-events: none; 2569 } 2570 2571 .dy-mini-mobile-bar .dy-podcast-progress-bg:active .dy-podcast-progress-fill::after, 2572 .dy-mini-mobile-bar .dy-podcast-progress-bg:hover .dy-podcast-progress-fill::after { 2573 transform: translateY(-50%) scale(1); 2574 } 2575 2576 .dy-mini-mobile-bar .dy-footer-podcast-title { 2577 white-space: nowrap; 2578 overflow: hidden; 2579 width: 100%; 2580 position: relative; 2581 } 2582 2583 .dy-footer-podcast-title.dy-marquee { 2584 display: flex !important; 2585 flex-wrap: nowrap !important; 2586 justify-content: flex-start !important; 2587 align-items: center !important; 2588 width: 100% !important; 2589 overflow: hidden !important; 2590 } 2591 2592 .dy-footer-podcast-title.dy-marquee span { 2593 display: inline-block !important; 2594 padding-right: 50px !important; 2595 white-space: nowrap !important; 2596 flex-shrink: 0 !important; 2597 animation: dyMarquee 15s linear infinite !important; 2598 } 2599 2600 .dy-mini-podcast-title.dy-marquee { 2601 display: flex !important; 2602 flex-wrap: nowrap !important; 2603 justify-content: flex-start !important; 2604 align-items: center !important; 2605 width: 100% !important; 2606 overflow: hidden !important; 2607 -webkit-line-clamp: unset !important; 2608 -webkit-box-orient: unset !important; 2609 } 2610 2611 .dy-mini-podcast-title:not(.dy-marquee) { 2612 display: -webkit-box !important; 2613 -webkit-box-orient: vertical !important; 2614 overflow: hidden !important; 2615 } 2616 2617 .dy-mini-podcast-title.dy-marquee span { 2618 display: inline-block !important; 2619 padding-right: 50px !important; 2620 white-space: nowrap !important; 2621 flex-shrink: 0 !important; 2622 animation: dyMarquee 15s linear infinite !important; 2623 } 2624 2625 2626 2627 .dy-podcast-mode-only { 2628 display: none !important; 2629 } 2630 2631 /* Download button needs to be controllable by JS even if it has .dy-podcast-mode-only */ 2632 .dy-player-download-btn.dy-podcast-mode-only { 2633 display: none; 2634 /* Removed !important to allow JS override */ 2635 } 2636 2637 .dy-sticky-footer-pc.dy-podcast-mode:not(.is-hover) .dy-podcast-mode-only { 2638 display: inline-flex !important; 2639 } 2640 2641 /* Specifically ensure the download button follows JS display setting if in podcast mode */ 2642 .dy-sticky-footer-pc.dy-podcast-mode:not(.is-hover) .dy-player-download-btn.dy-podcast-mode-only { 2643 display: var(--dy-dl-display, inline-flex) !important; 2644 } 2645 2646 .dy-sticky-footer-pc.dy-podcast-mode:not(.is-hover) .on-air { 2647 display: none !important; 2648 } 2649 2650 .dy-sticky-footer-pc.dy-podcast-mode:not(.is-hover) .radio-subtitle, 2651 .dy-sticky-footer-pc.dy-podcast-mode:not(.is-hover) .radio-title { 2652 display: none !important; 2653 } 2654 2655 .dy-sticky-footer-pc.dy-podcast-mode:not(.is-hover) .dy-footer-podcast-meta { 2656 display: block !important; 2657 } 2658 2659 .dy-sticky-footer-pc.is-hover .dy-footer-podcast-meta, 2660 .dy-sticky-footer-pc.is-hover .dy-podcast-mode-only { 2661 display: none !important; 2662 } 2663
2664 .dy-sticky-footer-pc .dy-mini-podcast-controls { 2665 width: 60% !important; 2666 } 2667 2668 .dy-sticky-footer-pc .dy-podcast-progress-fill { 2669 background: #a08053 !important; 2670 } 2671 2672 /* PC Sidebar Skip Buttons Style */ 2673 .dy-sticky-footer-pc .dy-pc-skip { 2674 width: 35px !important; 2675 height: 35px !important; 2676 border-radius: 50%; 2677 border: none; 2678 cursor: pointer; 2679 transition: all 0.2s; 2680 align-items: center; 2681 justify-content: center; 2682 font-size: 14px !important; 2683 background: rgba(255,255,255,0.05) !important; 2684 color: #ffffff !important; 2685 } 2686 2687 .dy-sticky-footer-pc .dy-pc-skip:hover { 2688 transform: scale(1.1); 2689 filter: brightness(1.2); 2690 } 2691 2692 /* Dropdown & Volume adjustments for PC Sidebar */ 2693 .dy-sticky-footer-pc .dy-mini-dropdown, 2694 .dy-sticky-footer-pc .dy-volume-popup { 2695 left: 50%; 2696 right: auto; 2697 border-radius: 12px; 2698 bottom: 100% !important; 2699 top: auto !important; 2700 transform: translateX(-50%) translateY(10px); 2701 transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); 2702 margin-bottom: 0px !important; 2703 z-index: 2147483647 !important; 2704 pointer-events: none; 2705 visibility: hidden; 2706 display: block !important; 2707 } 2708 2709 .dy-sticky-footer-pc .dy-mini-dropdown.is-active, 2710 .dy-sticky-footer-pc .dy-volume-wrap:hover .dy-volume-popup, 2711 .dy-sticky-footer-pc .dy-volume-wrap.is-active .dy-volume-popup { 2712 transform: translateX(-50%) translateY(0); 2713 pointer-events: auto; 2714 visibility: visible; 2715 } 2716 2717 .dy-sticky-footer-pc .dy-pc-btn-podcast:hover, 2718 .dy-sticky-footer-pc .dy-pc-btn-radio:hover { 2719 opacity: 1 !important; 2720 transform: translateY(-4px); 2721 color: #ffffff !important; 2722 } 2723 2724 .dy-sticky-footer-pc .dy-mini-dropdown { 2725 width: 500px; 2726 max-width: 90vw; 2727 border-bottom-left-radius: 0 !important; 2728 border-bottom-right-radius: 0 !important; 2729 box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.4); 2730 border: 1px solid rgba(255, 255, 255, 0.1); 2731 border-bottom: none !important; 2732 } 2733 2734 .dy-sticky-footer-pc .dy-volume-popup { 2735 width: 40px; 2736 padding: 15px 0; 2737 border-bottom-left-radius: 0 !important; 2738 border-bottom-right-radius: 0 !important; 2739 border-bottom: none !important; 2740 } 2741 2742 /* Top Position Overrides */ 2743 .dy-sticky-footer-pc.pos-top .dy-mini-dropdown, 2744 .dy-sticky-footer-pc.pos-top .dy-volume-popup { 2745 bottom: auto !important; 2746 top: 100% !important; 2747 transform: translateX(-50%) translateY(-10px); 2748 border-radius: 12px !important; 2749 border-top-left-radius: 0 !important; 2750 border-top-right-radius: 0 !important; 2751 border-top: none !important; 2752 border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important; 2753 box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4); 2754 } 2755 2756 .dy-sticky-footer-pc.pos-top .dy-mini-dropdown.is-active, 2757 .dy-sticky-footer-pc.pos-top .dy-volume-wrap:hover .dy-volume-popup, 2758 .dy-sticky-footer-pc.pos-top .dy-volume-wrap.is-active .dy-volume-popup { 2759 transform: translateX(-50%) translateY(0); 2760 } 2761 2762 @media (max-width: 1024px) { 2763 .dy-sticky-footer-pc { 2764 display: none !important; 2765 } 2766 2767 .dy-mini-mobile-bar { 2768 display: flex !important; 2769 visibility: visible !important; 2770 opacity: 1 !important; 2771 } 2772 } 2773 2774 @media (min-width: 1025px) { 2775 2776 .dy-mini-mobile-bar, 2777 .dy-mobile-fullscreen { 2778 display: none !important; 2779 } 2780 2781 .dy-sticky-footer-pc { 2782 display: flex; 2783 } 2784 } 2785 2786 .dy-podcast-btn { 2787 width: 35px; 2788 height: 35px; 2789 border-radius: 50%; 2790 background: #a08053; 2791 color: #fff; 2792 display: flex; 2793 align-items: center; 2794 justify-content: center; 2795 font-size: 12px; 2796 flex-shrink: 0; 2797 transition: transform 0.2s; 2798 } 2799 2800 .dy-podcast-item:hover .dy-podcast-btn { 2801 transform: scale(1.1); 2802 } 2803 2804 .dy-podcast-mini-play { 2805 display: flex; 2806 align-items: center; 2807 justify-content: center; 2808 background: #a08053; 2809 color: #fff; 2810 border: none; 2811 width: 32px; 2812 height: 32px; 2813 border-radius: 50%; 2814 margin-right: 0; 2815 font-size: 11px; 2816 cursor: pointer; 2817 } 2818 2819 .dy-podcast-mini-play:hover { 2820 opacity: 0.9; 2821 } 2822 2823 .dy-podcast-item.dy-podcast-active { 2824 border-color: #775e3c !important; 2825 background: #775e3c !important; 2826 box-shadow: 0 0 15px rgba(0, 0, 0, 0.2) !important; 2827 } 2828 2829 .dy-podcast-item.dy-podcast-active .dy-podcast-btn { 2830 background: #fff !important; 2831 color: #775e3c !important; 2832 } 2833 2834 .dy-podcast-progress-wrap { 2835 display: none; 2836 margin-top: 10px; 2837 margin-bottom: 8px; 2838 width: 100%; 2839 border-radius: 10px; 2840 align-items: center; 2841 gap: 8px; 2842 } 2843 2844 .dy-podcast-active .dy-podcast-progress-wrap { 2845 display: flex; 2846 } 2847 2848 .dy-podcast-skip { 2849 background: rgba(255, 255, 255, 0.1); 2850 background-color: rgba(255, 255, 255, 0.1); 2851 border: none !important; 2852 outline: none !important; 2853 padding: 0 !important; 2854 box-shadow: none !important; 2855 color: #fff; 2856 width: 30px; 2857 height: 30px; 2858 border-radius: 50%; 2859 cursor: pointer; 2860 display: flex; 2861 align-items: center; 2862 justify-content: center; 2863 font-size: 10px; 2864 transition: all 0.2s; 2865 flex-shrink: 0; 2866 } 2867 2868 .dy-podcast-skip:hover { 2869 background: transparent !important; 2870 background-color: transparent !important; 2871 color: #a08053; 2872 } 2873 2874 .dy-podcast-info-btn { 2875 display: flex; 2876 align-items: center; 2877 justify-content: center; 2878 background: rgba(255, 255, 255, 0.1); 2879 color: #fff; 2880 border: none; 2881 width: 32px; 2882 height: 32px; 2883 border-radius: 50%; 2884 font-size: 11px; 2885 cursor: pointer; 2886 transition: all 0.2s ease; 2887 flex-shrink: 0; 2888 } 2889 2890 .dy-podcast-info-btn:hover { 2891 background: #a08053; 2892 color: #fff; 2893 transform: scale(1.05); 2894 } 2895 2896 .dy-podcast-share-btn-mobile { 2897 display: none !important; 2898 } 2899 2900 .dy-podcast-time { 2901 font-size: 11px; 2902 font-weight: 700; 2903 color: #a08053; 2904 min-width: 35px; 2905 margin-right: 5px; 2906 } 2907 2908 .dy-podcast-progress-bg { 2909 height: 20px; 2910 position: relative; 2911 cursor: pointer; 2912 display: flex; 2913 align-items: center; 2914 flex: 1; 2915 } 2916 2917 .dy-podcast-progress-rail { 2918 height: 6px; 2919 background: rgba(255, 255, 255, 0.1); 2920 border-radius: 3px; 2921 width: 100%; 2922 position: relative; 2923 transition: height 0.2s; 2924 } 2925 2926 .dy-podcast-progress-fill { 2927 position: absolute; 2928 left: 0; 2929 top: 0; 2930 height: 100%; 2931 background: #a08053; 2932 border-radius: 3px; 2933 width: 0%; 2934 transition: width 0.1s linear; 2935 } 2936 2937 .dy-podcast-progress-fill::after { 2938 content: ''; 2939 position: absolute; 2940 right: 0; 2941 top: 50%; 2942 transform: translateY(-50%); 2943 width: 4px; 2944 height: 100%; 2945 background: #fff; 2946 box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); 2947 pointer-events: none; 2948 z-index: 10; 2949 opacity: 0; 2950 transition: opacity 0.2s; 2951 } 2952 2953 .dy-podcast-progress-bg:hover .dy-podcast-progress-rail { 2954 height: 10px; 2955 } 2956 2957 .dy-podcast-progress-bg:hover .dy-podcast-progress-fill::after { 2958 opacity: 1;
2959 } 2960 2961 .radio-display.dy-podcast-mode .dy-podcast-hide { 2962 display: none !important; 2963 } 2964 2965 .dy-fs-list-switcher { 2966 display: none; 2967 padding: 15px 20px 10px; 2968 gap: 10px; 2969 justify-content: center; 2970 border-bottom: 1px solid rgba(255, 255, 255, 0.05); 2971 } 2972 2973 .dy-fs-sw-btn { 2974 flex: 1; 2975 text-align: center; 2976 padding: 10px; 2977 border-radius: 10px; 2978 background: rgba(255, 255, 255, 0.05); 2979 color: rgba(255, 255, 255, 0.4); 2980 font-size: 11px; 2981 font-weight: 800; 2982 letter-spacing: 1.2px; 2983 cursor: pointer; 2984 transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 2985 border: 1px solid rgba(255, 255, 255, 0.08); 2986 text-transform: uppercase; 2987 } 2988 2989 .dy-fs-sw-btn.is-active { 2990 background: #a08053; 2991 color: #fff; 2992 border-color: #a08053; 2993 box-shadow: 0 4px 15px rgba(160, 128, 83, 0.3); 2994 } 2995 2996 .dy-podcast-mode .dy-fs-list-switcher { 2997 display: flex !important; 2998 } 2999 3000 /* Mini Player Podcast Controls */ 3001 .dy-mini-podcast-controls { 3002 display: none; 3003 align-items: center; 3004 gap: 8px; 3005 width: 100%; 3006 margin-top: 5px; 3007 padding-top: 0; 3008 border-top: none; 3009 } 3010 3011 .radio-display.dy-podcast-mode .dy-mini-podcast-controls { 3012 display: flex; 3013 } 3014 3015 .dy-mini-podcast-controls .dy-podcast-skip { 3016 width: 26px; 3017 height: 26px; 3018 font-size: 8px; 3019 background: transparent !important; 3020 background-color: transparent !important; 3021 } 3022 3023 .dy-mini-podcast-controls .dy-podcast-time { 3024 min-width: 35px; 3025 font-size: 9px; 3026 margin-right: 0; 3027 } 3028 3029 .dy-mini-podcast-controls .dy-podcast-progress-bg { 3030 height: 16px; 3031 } 3032 3033 /* Podcast Info toggle in Mini Player */ 3034 .radio-display.dy-podcast-mode .on-air, 3035 .radio-display.dy-podcast-mode .radio-subtitle, 3036 .radio-display.dy-podcast-mode .radio-title { 3037 display: none !important; 3038 } 3039 3040 .dy-mini-podcast-title { 3041 display: none; 3042 margin: 0; 3043 font-weight: 700; 3044 color: #fff; 3045 font-size: 13px; 3046 line-height: 1.2; 3047 padding-top: 2px; 3048 white-space: normal; 3049 overflow: hidden; 3050 min-width: 0; 3051 width: 100%; 3052 position: relative; 3053 transition: opacity 0.3s ease; 3054 } 3055 3056 .dy-mini-mobile-bar.dy-podcast-mode .dy-mini-podcast-title { 3057 display: block !important; 3058 white-space: nowrap !important; 3059 overflow: hidden !important; 3060 text-overflow: ellipsis !important; 3061 animation: dyContentFadeIn 0.5s ease forwards; 3062 } 3063 3064 /* Override for FullScreen Mobile Podcast Title to allow multi-line and vertical scroll */ 3065 .dy-mobile-fullscreen.dy-podcast-mode .dy-mini-podcast-title { 3066 white-space: normal !important; 3067 display: block !important; 3068 overflow: hidden !important; 3069 height: auto !important; 3070 max-height: 4.2em !important; 3071 /* Approx 3 lines at 1.4 line-height */ 3072 line-height: 1.4 !important; 3073 text-align: center !important; 3074 padding-top: 0 !important; 3075 } 3076 3077 .dy-mobile-fullscreen.dy-podcast-mode .dy-mini-podcast-title span { 3078 white-space: normal !important; 3079 display: block !important; 3080 } 3081 3082 @keyframes dyContentFadeIn { 3083 0% { 3084 opacity: 0; 3085 filter: blur(4px); 3086 } 3087 3088 100% { 3089 opacity: 1; 3090 filter: blur(0); 3091 } 3092 } 3093 3094 .dy-mini-podcast-title span { 3095 display: inline-block !important; 3096 white-space: nowrap !important; 3097 overflow: visible !important; 3098 /* Allow translation for scrolling */ 3099 transition: transform 0.1s linear; 3100 } 3101 3102 .dy-mini-podcast-title.is-scrolling span, 3103 .dy-footer-podcast-title.is-scrolling span { 3104 animation: dy-pingpong 15s ease-in-out infinite !important; 3105 } 3106 3107 @keyframes dy-pingpong { 3108 3109 0%, 3110 20% { 3111 transform: translateX(0); 3112 } 3113 3114 45%, 3115 75% { 3116 transform: translateX(var(--dy-scroll-dist)); 3117 } 3118 3119 100% { 3120 transform: translateX(0); 3121 } 3122 } 3123 3124 @keyframes dy-v-pingpong { 3125 3126 0%, 3127 20% { 3128 transform: translateY(0); 3129 } 3130 3131 45%, 3132 75% { 3133 transform: translateY(var(--dy-scroll-v-dist)); 3134 } 3135 3136 100% { 3137 transform: translateY(0); 3138 } 3139 } 3140 3141 .dy-mini-podcast-title.is-v-scrolling span { 3142 white-space: normal !important; 3143 display: block !important; 3144 animation: dy-v-pingpong 15s ease-in-out infinite !important; 3145 } 3146 3147 .radio-display.dy-podcast-mode .dy-podcast-mode-label { 3148 display: block !important; 3149 } 3150 3151 /* Force help messages on hover even in podcast mode */ 3152 .radio-display.is-hover .radio-subtitle, 3153 .radio-display.is-hover .radio-title { 3154 display: block !important; 3155 animation: dyTooltipIn 0.4s cubic-bezier(0.23, 1, 0.32, 1) forwards; 3156 } 3157 3158 .radio-display.is-hover .on-air, 3159 .radio-display.is-hover .dy-mini-podcast-title, 3160 .radio-display.is-hover .dy-podcast-mode-label,
3161 .radio-display.is-hover .dy-mini-podcast-controls { 3162 display: none !important; 3163 } 3164 3165 @keyframes dyTooltipIn { 3166 0% { 3167 opacity: 0; 3168 transform: translateY(8px); 3169 filter: blur(2px); 3170 } 3171 3172 100% { 3173 opacity: 1; 3174 transform: translateY(0); 3175 filter: blur(0); 3176 } 3177 } 3178 3179 @keyframes dyTooltipOut { 3180 0% { 3181 opacity: 1; 3182 transform: translateY(0); 3183 } 3184 3185 100% { 3186 opacity: 0; 3187 transform: translateY(-8px); 3188 } 3189 } 3190 3191 @keyframes dyMarquee { 3192 0% { 3193 transform: translateX(0); 3194 } 3195 3196 100% { 3197 transform: translateX(-100%); 3198 } 3199 } 3200 3201 /* AJAX Loading state */ 3202 .ajax-loading #main { 3203 pointer-events: none; 3204 opacity: 0.4; 3205 filter: blur(2px); 3206 transition: all 0.4s ease; 3207 } 3208 3209 /* Dropdown enhancements */ 3210 .dy-mini-dropdown { 3211 position: absolute; 3212 top: 100%; 3213 left: 0; 3214 width: 100%; 3215 background: rgba(30, 30, 30, 0.95); 3216 backdrop-filter: blur(15px); 3217 border-radius: 12px; 3218 margin-top: 10px; 3219 border: 1px solid rgba(255, 255, 255, 0.1); 3220 box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4); 3221 max-height: 500px; 3222 overflow-y: auto; 3223 z-index: 1000; 3224 opacity: 0; 3225 visibility: hidden; 3226 transform: translateY(-10px); 3227 transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 3228 pointer-events: none; 3229 } 3230 3231 .dy-mini-dropdown.is-active { 3232 opacity: 1; 3233 visibility: visible; 3234 transform: translateY(0); 3235 pointer-events: auto; 3236 } 3237 3238 .dy-dropdown-item { 3239 display: flex; 3240 align-items: center; 3241 padding: 10px 15px; 3242 cursor: pointer; 3243 transition: all 0.2s; 3244 border-radius: 8px; 3245 margin: 2px 8px; 3246 } 3247 3248 .dy-dropdown-item:hover { 3249 background: rgba(255, 255, 255, 0.1); 3250 transform: translateX(5px); 3251 } 3252 3253 .dy-dropdown-item.is-playing { 3254 background: rgba(160, 128, 83, 0.2) !important; 3255 border-left: none; 3256 } 3257 3258 .dy-back-to-radio { 3259 display: block; 3260 padding: 12px; 3261 text-align: center; 3262 color: #a08053; 3263 font-size: 11px; 3264 font-weight: 700; 3265 text-transform: uppercase; 3266 text-decoration: none; 3267 border-top: 1px solid rgba(255, 255, 255, 0.1); 3268 cursor: pointer; 3269 transition: background 0.2s; 3270 } 3271 3272 .dy-back-to-radio:hover { 3273 background: rgba(255, 255, 255, 0.05); 3274 } 3275 3276 /* Mini Player Dropdown Styles Responsive */ 3277 @media (max-width: 600px) { 3278 .dy-mini-dropdown { 3279 min-width: 100%; 3280 width: 100%; 3281 border-radius: 0 0 12px 12px; 3282 margin-top: 0; 3283 left: 0; 3284 right: 0; 3285 } 3286 3287 .dy-dropdown-item { 3288 padding: 8px 10px; 3289 margin: 2px 4px; 3290 } 3291 3292 .dy-dropdown-item img { 3293 width: 45px; 3294 height: 45px; 3295 } 3296 3297 .dy-dd-artist { 3298 font-size: 12px; 3299 } 3300 3301 .dy-dd-title { 3302 font-size: 11px; 3303 } 3304 } 3305 3306 /* Podcast List Responsive */ 3307 @media (max-width: 768px) { 3308 .dy-podcast-item { 3309 padding: 10px; 3310 gap: 12px; 3311 } 3312 3313 .dy-podcast-img-wrap { 3314 width: 55px; 3315 height: 55px; 3316 } 3317 3318 .dy-podcast-main-title { 3319 font-size: 20px !important; 3320 margin-bottom: 15px; 3321 } 3322 3323 .dy-podcast-title { 3324 font-size: 14px !important; 3325 } 3326 3327 .dy-podcast-meta { 3328 font-size: 11px !important; 3329 } 3330 3331 .dy-podcast-btn { 3332 display: none !important; 3333 } 3334 3335 .dy-podcast-action { 3336 display: flex !important; 3337 gap: 8px !important; 3338 } 3339 3340 .dy-podcast-share-btn-mobile { 3341 display: flex !important; 3342 align-items: center; 3343 justify-content: center; 3344 background: rgba(255, 255, 255, 0.1); 3345 color: #fff; 3346 border: none; 3347 width: 32px; 3348 height: 32px; 3349 border-radius: 50%; 3350 cursor: pointer; 3351 transition: all 0.2s ease; 3352 flex-shrink: 0; 3353 } 3354 3355 .dy-podcast-share-btn-mobile:hover { 3356 background: #a08053; 3357 color: #fff; 3358 transform: scale(1.05); 3359 } 3360 3361 .dy-podcast-action .dy-podcast-share-btn { 3362 display: none !important; 3363 } 3364 } 3365 3366 @media (max-width: 480px) { 3367 .dy-podcast-item { 3368 position: relative; 3369 flex-direction: row; 3370 align-items: flex-start; 3371 } 3372 3373 .dy-podcast-btn { 3374 display: none !important; 3375 } 3376 3377 .dy-podcast-action { 3378 display: flex !important; 3379 gap: 6px !important; 3380 } 3381 3382 .dy-podcast-info { 3383 padding-right: 0; 3384 width: 100%; 3385 } 3386 3387 .dy-podcast-date { 3388 font-size: 9px; 3389 } 3390 3391 .dy-podcast-title { 3392 white-space: normal; 3393 line-height: 1.3; 3394 margin-bottom: 5px; 3395 max-height: 2.6em; 3396 overflow: hidden; 3397 display: -webkit-box; 3398 -webkit-line-clamp: 2; 3399 -webkit-box-orient: vertical; 3400 } 3401 3402 .dy-podcast-active .dy-podcast-title { 3403 max-height: none; 3404 -webkit-line-clamp: unset; 3405 display: block; 3406 overflow: visible; 3407 } 3408 3409 .dy-podcast-progress-wrap { 3410 gap: 4px; 3411 margin-top: 10px; 3412 flex-wrap: wrap; 3413 } 3414 3415 .dy-podcast-skip { 3416 width: 34px; 3417 height: 34px; 3418 font-size: 11px; 3419 } 3420 3421 .dy-podcast-mini-play { 3422 display: flex; 3423 width: 36px; 3424 height: 36px; 3425 font-size: 12px; 3426 margin-right: 0; 3427 } 3428 3429 .dy-podcast-time { 3430 font-size: 12px; 3431 min-width: 40px; 3432 } 3433 3434 .dy-podcast-progress-bg { 3435 width: 100%; 3436 flex: none; 3437 order: 5; 3438 margin-top: 8px; 3439 } 3440 } 3441 3442 .dy-share-zone { 3443 margin: 10px 0 0px; 3444 padding: 12px 20px; 3445 background: rgba(160,128,83, 0.5); 3446 border-radius: 20px; 3447 display: flex; 3448 align-items: center; 3449 justify-content: center; 3450 /* Centré par défaut */ 3451 align-content: center; 3452 flex-wrap: wrap; 3453 gap: 20px; 3454 border: 1px solid rgba(255, 255, 255, 0.1); 3455 backdrop-filter: blur(15px); 3456 -webkit-backdrop-filter: blur(15px); 3457 box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); 3458 transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); 3459 } 3460 3461 3462 .dy-share-zone:hover { 3463 border-color: rgba(255, 255, 255, 0.2); 3464 transform: translateY(-2px); 3465 box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15); 3466 } 3467 3468 .dy-share-btn { 3469 display: inline-flex; 3470 align-items: center; 3471 gap: 10px; 3472 text-decoration: none !important; 3473 transition: all 0.3s ease; 3474 } 3475 3476 .dy-liaison-btn { 3477 background: #ffffff; 3478 color: #292929 !important; 3479 padding: 10px 24px; 3480 border-radius: 14px; 3481 font-weight: 700; 3482 font-size: 13px; 3483 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); 3484 white-space: nowrap; 3485 } 3486 3487 .dy-liaison-btn:hover { 3488 transform: scale(1.03); 3489 box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2); 3490 filter: brightness(1.05); 3491 } 3492 3493 .dy-share-icons { 3494 display: flex; 3495 align-items: center; 3496 gap: 12px; 3497 flex-wrap: wrap; 3498 justify-content: center; 3499 } 3500 3501 .dy-share-label { 3502 font-size: 11px; 3503 color: rgba(255,255,255, 1); 3504 font-weight: 600; 3505 margin-right: 8px; 3506 margin-bottom: 0; 3507 transition: opacity 0.3s ease; 3508 } 3509 3510 3511 .dy-share-icon { 3512 width: 38px; 3513 height: 38px; 3514 border-radius: 12px; 3515 display: flex; 3516 align-items: center; 3517 justify-content: center; 3518 background: rgba(255, 255, 255, 0.08) !important; 3519 color: #fff !important; 3520 font-size: 16px; 3521 transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); 3522 text-decoration: none !important; 3523 border: 1px solid rgba(255, 255, 255, 0.05); 3524 } 3525 3526 .dy-share-icon:hover { 3527 background: rgba(255, 255, 255, 0.15) !important; 3528 transform: translateY(-5px) scale(1.1); 3529 border-color: rgba(255, 255, 255, 0.3); 3530 } 3531 3532 /* --- MODE 1: FULL (Desktop > 1200px) --- */ 3533 @media (min-width: 1201px) { 3534 .dy-share-zone { 3535 justify-content: space-between; 3536 padding: 15px 40px; 3537 flex-direction: row; 3538 } 3539 3540 .dy-share-label { 3541 display: block; 3542 } 3543 } 3544 3545 /* --- MODE 2: TABLET (768px à 1200px) --- */ 3546 @media (max-width: 1200px) and (min-width: 768px) { 3547 .dy-share-zone { 3548 justify-content: center; 3549 gap: 50px; 3550 /* Grand espace pour un look équilibré */ 3551 padding: 15px 25px; 3552 flex-direction: row; 3553 } 3554 3555 .dy-share-label { 3556 display: none; 3557 /* Look épuré sur tablette */ 3558 } 3559 } 3560 3561 /* --- MODE 3: MOBILE (<= 767px) --- */ 3562 @media (max-width: 767px) { 3563 .dy-share-zone { 3564 flex-direction: column; 3565 padding: 22px 15px; 3566 gap: 22px; 3567 text-align: center; 3568 border-radius: 18px;
3569 justify-content: center; 3570 } 3571 3572 .dy-liaison-btn { 3573 width: 100%; 3574 justify-content: center; 3575 padding: 14px 20px; 3576 font-size: 14px; 3577 } 3578 3579 .dy-share-icons { 3580 width: 100%; 3581 justify-content: center; 3582 gap: 15px; 3583 padding-top: 20px; 3584 border-top: 1px solid rgba(255, 255, 255, 0.1); 3585 } 3586 3587 .dy-share-label { 3588 width: 100%; 3589 margin: 0 0 10px 0; 3590 font-size: 11px; 3591 opacity: 0.8; 3592 display: block; 3593 } 3594 3595 .dy-share-icon { 3596 width: 44px; 3597 height: 44px; 3598 font-size: 20px; 3599 border-radius: 14px; 3600 } 3601 } 3602 3603 .dy-expand-mini-btn { 3604 transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 3605 filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2)); 3606 opacity: 0.8; 3607 display: none; 3608 /* Hidden for Stations by default */ 3609 } 3610 3611 .dy-podcast-mode .dy-expand-mini-btn { 3612 display: flex; 3613 /* Show only for Podcasts */ 3614 } 3615 3616 .dy-expand-mini-btn:hover { 3617 transform: scale(1.05); 3618 opacity: 1 !important; 3619 } 3620 3621 .dy-expand-mini-btn.disabled { 3622 opacity: 0.3 !important; 3623 cursor: not-allowed !important; 3624 pointer-events: none !important; 3625 filter: grayscale(1); 3626 } 3627 3628 .dy-sticky-footer-pc .dy-expand-mini-btn { 3629 background: rgba(20, 20, 20, 0.9); 3630 backdrop-filter: blur(10px); 3631 -webkit-backdrop-filter: blur(10px); 3632 color: rgba(255, 255, 255, 0.7); 3633 padding: 4px 15px; 3634 border-radius: 10px 10px 0 0; 3635 border: 1px solid rgba(255, 255, 255, 0.1); 3636 border-bottom: none; 3637 white-space: nowrap; 3638 box-shadow: 0 -3px 8px rgba(0, 0, 0, 0.2); 3639 font-weight: 700; 3640 font-size: 10px; 3641 letter-spacing: 0.2px; 3642 opacity: 1 !important; 3643 text-transform: uppercase; 3644 z-index: 2147483640 !important; 3645 transition: all 0.3s ease; 3646 position: absolute; 3647 left: 50%; 3648 transform: translateX(-50%); 3649 } 3650 3651 .dy-sticky-footer-pc.pos-bottom .dy-expand-mini-btn { 3652 bottom: 100% !important; 3653 top: auto !important; 3654 border-radius: 10px 10px 0 0; 3655 border-bottom: none; 3656 } 3657 3658 .dy-sticky-footer-pc.pos-top .dy-expand-mini-btn { 3659 top: 100% !important; 3660 bottom: auto !important; 3661 border-radius: 0 0 10px 10px; 3662 border-top: none; 3663 border-bottom: 1px solid rgba(255, 255, 255, 0.1); 3664 box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2); 3665 } 3666 3667 .dy-sticky-footer-pc .dy-expand-mini-btn:hover { 3668 background: rgba(40, 40, 40, 0.9); 3669 color: #fff; 3670 transform: translateX(-50%) translateY(-1px) !important; 3671 } 3672 </style> 3673 <style type="text/css"> 3674 .fusion-featured-image-wrapper, 3675 .fusion-post-slideshow, 3676 .fusion-slider-sc:not(.fusion-has-margin) .flexslider { 3677 margin-bottom: 5px !important; /* Supprime le padding de 60px sous l'image (Cas Puppini) */ 3678 } 3679 3680 .video-shortcode, 3681 .fusion-video-shortcode { 3682 margin-bottom: 10px !important; /* Ãvite les grands écarts de 160px sur les bios */ 3683 } 3684 3685 .fusion-post-title-container, 3686 h1.entry-title { 3687 margin-top: 15px !important; /* Rapproche le titre de l'image ou de la vidéo */ 3688 } 3689 3690 /* 2. CAS SPÃCIFIQUE : VIDÃO ACTIVE (Masquage Slider) */ 3691 body.devyves-video-active .fusion-featured-slider-tb-1, 3692 body.devyves-video-active .fusion-featured-slider-tb { 3693 display: none !important; 3694 height: 0 !important; 3695 overflow: hidden !important; 3696 } 3697 3698 /* Suppression des marges sous la vidéo pour coller au titre */ 3699 body.devyves-video-active .fusion-content-tb-1 .fusion-text-1, 3700 body.devyves-video-active .video-shortcode, 3701 body.devyves-video-active .fusion-video-shortcode { 3702 margin-bottom: 0 !important; 3703 padding-bottom: 0 !important; 3704 } 3705 3706 /* 3. EXCEPTIONS : Priorité au titre H1 si présent dans le Bloc 1 (Cas Laufey) */ 3707 body.devyves-video-active article:has(.fusion-text-1 h1) .fusion-featured-slider-tb-1 { 3708 display: block !important; 3709 height: auto !important; 3710 } 3711 </style> 3712 <meta name="generator" content="Site Kit by Google 1.188.0" />
3712<script src='https://www.croonerradio.fr/?dm=6ea7fc1d5401d8c14da133a898761dcc&action=load&blogid=1&siteid=1&t=684061544&back=https%3A%2F%2Fwww.croonerradio.fr%2F' type='text/javascript'></script>
3712<link rel="preload" href="https://www.croonerradio.fr/wp-content/themes/Avada/includes/lib/assets/fonts/icomoon/awb-icons.woff" as="font" type="font/woff" crossorigin><link rel="preload" href="//www.croonerradio.fr/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-brands-400.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="//www.croonerradio.fr/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-regular-400.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="//www.croonerradio.fr/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-solid-900.woff2" as="font" type="font/woff2" crossorigin><style type="text/css" id="css-fb-visibility">a[href^="#awb-close-collapsible__"][href$="__hide"]:not(.awb-collapse-link-visible),a[href^="#awb-open-collapsible__"][href$="__hide"].awb-collapse-link-hidden{display:none;}@media screen and (max-width: 640px){.fusion-no-small-visibility{display:none !important;}body .sm-text-align-center{text-align:center !important;}body .sm-text-align-left{text-align:left !important;}body .sm-text-align-right{text-align:right !important;}body .sm-text-align-justify{text-align:justify !important;}body .sm-flex-align-center{justify-content:center !important;}body .sm-flex-align-flex-start{justify-content:flex-start !important;}body .sm-flex-align-flex-end{justify-content:flex-end !important;}body .sm-mx-auto{margin-left:auto !important;margin-right:auto !important;}body .sm-ml-auto{margin-left:auto !important;}body .sm-mr-auto{margin-right:auto !important;}body .fusion-absolute-position-small{position:absolute;width:100%;}.awb-sticky.awb-sticky-small{ position: sticky; top: var(--awb-sticky-offset,0); }.fusion-layout-column.awb-collapsible:not(.awb-collapse-open) > .awb-collapsible-content,.fusion-fullwidth.awb-collapsible:not(.awb-collapse-open) > .awb-collapsible-content{max-height:var(--awb-collapsed-height-small,var(--awb-collapsed-height-medium,var(--awb-collapsed-height,200px)));}.fusion-layout-column.awb-collapsible > .awb-collapsible-content,.fusion-fullwidth.awb-collapsible{--awb-collapse-fade-height-bp:var(--awb-collapse-fade-height-small,var(--awb-collapse-fade-height-medium));}.awb-collapse-not-small.awb-collapsible > .awb-collapsible-content{max-height:none !important;overflow:visible !important;-webkit-mask-image:none !important;mask-image:none !important;}.awb-collapse-not-small.awb-collapsible{-webkit-mask-image:none !important;mask-image:none !important;}.awb-collapse-not-small.awb-collapsible::before,.awb-collapse-not-small.awb-collapsible > .awb-collapsible-content::before{display:none !important;}.awb-collapse-not-small.awb-collapsible > .awb-collapse-trigger-wrapper,.awb-collapse-not-small.awb-collapsible + .awb-collapse-trigger-wrapper{display:none !important;}.awb-collapse-link-not-small{display:none !important;}}@media screen and (min-width: 641px) and (max-width: 1024px){.fusion-no-medium-visibility{display:none !important;}body .md-text-align-center{text-align:center !important;}body .md-text-align-left{text-align:left !important;}body .md-text-align-right{text-align:right !important;}body .md-text-align-justify{text-align:justify !important;}body .md-flex-align-center{justify-content:center !important;}body .md-flex-align-flex-start{justify-content:flex-start !important;}body .md-flex-align-flex-end{justify-content:flex-end !important;}body .md-mx-auto{margin-left:auto !important;margin-right:auto !important;}body .md-ml-auto{margin-left:auto !important;}body .md-mr-auto{margin-right:auto !important;}body .fusion-absolute-position-medium{position:absolute;width:100%;}.awb-sticky.awb-sticky-medium{ position: sticky; top: var(--awb-sticky-offset,0); }.fusion-layout-column.awb-collapsible:not(.awb-collapse-open) > .awb-collapsible-content,.fusion-fullwidth.awb-collapsible:not(.awb-collapse-open) > .awb-collapsible-content{max-height:var(--awb-collapsed-height-medium,var(--awb-collapsed-height,200px));}.fusion-layout-column.awb-collapsible > .awb-collapsible-content,.fusion-fullwidth.awb-collapsible{--awb-collapse-fade-height-bp:var(--awb-collapse-fade-height-medium);}.awb-collapse-not-medium.awb-collapsible > .awb-collapsible-content{max-height:none !important;overflow:visible !important;-webkit-mask-image:none !important;mask-image:none !important;}.awb-collapse-not-medium.awb-collapsible{-webkit-mask-image:none !important;mask-image:none !important;}.awb-collapse-not-medium.awb-collapsible::before,.awb-collapse-not-medium.awb-collapsible > .awb-collapsible-content::before{display:none !important;}.awb-collapse-not-medium.awb-collapsible > .awb-collapse-trigger-wrapper,.awb-collapse-not-medium.awb-collapsible + .awb-collapse-trigger-wrapper{display:none !important;}.awb-collapse-link-not-medium{display:none !important;}}@media screen and (min-width: 1025px){.fusion-no-large-visibility{display:none !important;}body .lg-text-align-center{text-align:center !important;}body .lg-text-align-left{text-align:left !important;}body .lg-text-align-right{text-align:right !important;}body .lg-text-align-justify{text-align:justify !important;}body .lg-flex-align-center{justify-content:center !important;}body .lg-flex-align-flex-start{justify-content:flex-start !important;}body .lg-flex-align-flex-end{justify-content:flex-end !important;}body .lg-mx-auto{margin-left:auto !important;margin-right:auto !important;}body .lg-ml-auto{margin-left:auto !important;}body .lg-mr-auto{margin-right:auto !important;}body .fusion-absolute-position-large{position:absolute;width:100%;}.awb-sticky.awb-sticky-large{ position: sticky; top: var(--awb-sticky-offset,0); }.awb-collapse-not-large.awb-collapsible > .awb-collapsible-content{max-height:none !important;overflow:visible !important;-webkit-mask-image:none !important;mask-image:none !important;}.awb-collapse-not-large.awb-collapsible{-webkit-mask-image:none !important;mask-image:none !important;}.awb-collapse-not-large.awb-collapsible::before,.awb-collapse-not-large.awb-collapsible > .awb-collapsible-content::before{display:none !important;}.awb-collapse-not-large.awb-collapsible > .awb-collapse-trigger-wrapper,.awb-collapse-not-large.awb-collapsible + .awb-collapse-trigger-wrapper{display:none !important;}.awb-collapse-link-not-large{display:none !important;}}</style> 3713<!-- Balises Meta Google AdSense ajoutées par Site Kit --> 3714<meta name="google-adsense-platform-account" content="ca-host-pub-2644536267352236"> 3715<meta name="google-adsense-platform-domain" content="sitekit.withgoogle.com"> 3716<!-- Fin des balises Meta End Google AdSense ajoutées par Site Kit --> 3717 3718<!-- Extrait Google Tag Manager ajouté par Site Kit -->
3719<script>
vendor: 420 bytes, lines 3719-3728
3719 3720 ( function( w, d, s, l, i ) { 3721 w[l] = w[l] || []; 3722 w[l].push( {'gtm.start': new Date().getTime(), event: 'gtm.js'} ); 3723 var f = d.getElementsByTagName( s )[0], 3724 j = d.createElement( s ), dl = l != 'dataLayer' ? '&l=' + l : ''; 3725 j.async = true; 3726 j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 3727 f.parentNode.insertBefore( j, f ); 3728 } )( window, document, 'script', 'dataLayer', '
3728GTM-KZKG3CW
vendor: 9 bytes, lines 3728-3729
3728' ); 3729
3730</script>
3730 3731 3732<!-- Terminer l'extrait de Google Tag Manager ajouté par Site Kit --> 3733 3734<!-- Extrait Google AdSense ajouté par Site Kit -->
3735<script async crossorigin="anonymous" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5324969300249679&host=ca-host-pub-2644536267352236"></script>
3735 3736 3737<!-- Terminer l'extrait de Google AdSense ajouté par Site Kit --> 3738<link rel="icon" href="https://www.croonerradio.fr/wp-content/uploads/2026/03/cropped-Favicon_Crooner_Radio_2026_v2-32x32.webp" sizes="32x32" /> 3739<link rel="icon" href="https://www.croonerradio.fr/wp-content/uploads/2026/03/cropped-Favicon_Crooner_Radio_2026_v2-192x192.webp" sizes="192x192" /> 3740<link rel="apple-touch-icon" href="https://www.croonerradio.fr/wp-content/uploads/2026/03/cropped-Favicon_Crooner_Radio_2026_v2-180x180.webp" /> 3741<meta name="msapplication-TileImage" content="https://www.croonerradio.fr/wp-content/uploads/2026/03/cropped-Favicon_Crooner_Radio_2026_v2-270x270.webp" /> 3742 <style type="text/css"> 3743 /* Forcer l'embed YouTube à respecter la largeur du conteneur */ 3744 .fusion-text iframe, 3745 .fusion-text embed, 3746 .fusion-text object, 3747 .video-shortcode iframe { 3748 max-width: 100% !important; 3749 width: 100% !important; 3750 height: auto !important; 3751 aspect-ratio: 16 / 9 !important; /* Maintient le format vidéo sans déformation */ 3752 } 3753 3754 /* Supprimer les marges parasites et forcer la pleine largeur */ 3755 .video-container, 3756 .fluid-width-video-wrapper { 3757 width: 100% !important; 3758 max-width: 100% !important; 3759 } 3760 </style> 3761 <style type="text/css" id="fusion-builder-template-header-css">.fusion-header, 3762.fusion-header-wrapper, 3763.fusion-builder-row, 3764.fusion-layout-column { 3765 overflow: visible !important; 3766}</style><style type="text/css" id="fusion-builder-template-content-css">.fusion-post-content.post-content .blog-shortcode-post-title.entry-title a { 3767color: white; 3768font-size: 15px; 3769font-family: 'Inter', sans-serif;
3770font-weight: 400; 3771line-height: 1.8; 3772} 3773 3774.fusion-post-wrapper { 3775 border-radius: 12px; 3776 overflow: hidden; /* Pour éviter que le contenu dépasse les bords arrondis */ 3777}</style><style type="text/css" id="fusion-builder-template-footer-css">/* Réduire la hauteur du champ de saisie */ 3778.inf-input.inf-input-text input[type="text"] { 3779 width: 200px; /* Largeur du champ */ 3780 height: 30px; /* Hauteur réduite */ 3781 padding: 4px 8px; /* Padding ajusté */ 3782 font-size: 14px; /* Taille de la police */ 3783 box-sizing: border-box; /* Inclure le padding dans la hauteur totale */ 3784 margin-bottom: 2%; /* Marge de 2% en bas */ 3785} 3786 3787/* Styliser le bouton Inscription */ 3788.inf-submit input[type="submit"] { 3789 width: 100%; /* Largeur à 100% */ 3790 height: 35px; /* Hauteur réduite du bouton */ 3791 background-color: #a08053; /* Couleur de fond */ 3792 color: white; /* Texte en blanc */ 3793 border: none; /* Supprimer la bordure par défaut */ 3794 border-radius: 8px; /* Bords moins arrondis */ 3795 padding: 0; /* Supprimer le padding par défaut */ 3796 font-size: 14px; /* Taille de la police réduite */ 3797 cursor: pointer; /* Curseur en forme de main au survol */ 3798 transition: background-color 0.3s ease; /* Animation de transition */ 3799} 3800 3801/* Effet au survol du bouton */ 3802.inf-submit input[type="submit"]:hover { 3803 background-color: #c0a080; /* Couleur plus claire au survol */ 3804}</style> 3805 <style id="wp-block-library-inline-css"> 3806:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
3806--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 3807/*wp_block_styles_on_demand_placeholder:6ab5374ed970b*/ 3808/*# sourceURL=wp-block-library-inline-css */ 3809</style> 3810<style id="wp-block-library-theme-inline-css"> 3811.wp-block-audio :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio :where(figcaption){color:hsla(0,0%,100%,.65)}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed :where(figcaption){color:hsla(0,0%,100%,.65)}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:hsla(0,0%,100%,.65)}:root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme :root :where(.wp-block-image figcaption){color:hsla(0,0%,100%,.65)}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote :where(cite),.wp-block-pullquote :where(footer),.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote:where(.has-text-align-right){border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote:where(.has-text-align-center){border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote:where(.is-style-plain){border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table :where(figcaption){color:hsla(0,0%,100%,.65)}.wp-block-video :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video :where(figcaption){color:hsla(0,0%,100%,.65)}.wp-block-video{margin:0 0 1em}:root :where(.wp-block-template-part.has-background){margin-bottom:0;margin-top:0;padding:1.25em 2.375em} 3812/*# sourceURL=/wp-includes/css/dist/block-library/theme.min.css */ 3813</style> 3814<style id="classic-theme-styles-inline-css"> 3815/*! This file is auto-generated */ 3816.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;
3816padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 3817/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 3818</style> 3819 3820</head> 3821 3822<body class="home wp-singular page-template-default page page-id-43837 wp-custom-logo wp-theme-Avada fusion-image-hovers fusion-pagination-sizing fusion-button_type-flat fusion-button_span-no fusion-button_gradient-linear avada-image-rollover-circle-no avada-image-rollover-yes avada-image-rollover-direction-left fusion-has-button-gradient fusion-body ltr fusion-sticky-header no-tablet-sticky-header no-mobile-sticky-header no-mobile-slidingbar no-desktop-totop no-mobile-totop fusion-disable-outline fusion-sub-menu-fade mobile-logo-pos-left layout-wide-mode avada-has-boxed-modal-shadow-none layout-scroll-offset-full avada-has-zero-margin-offset-top fusion-top-header menu-text-align-center mobile-menu-design-modern fusion-show-pagination-text fusion-header-layout-v1 avada-responsive avada-footer-fx-none avada-menu-highlight-style-bar fusion-search-form-classic fusion-main-menu-search-overlay fusion-avatar-circle avada-dropdown-styles avada-blog-layout-medium avada-blog-archive-layout-medium avada-header-shadow-no avada-menu-icon-position-left avada-has-megamenu-shadow avada-has-mainmenu-dropdown-divider avada-has-mobile-menu-search avada-has-main-nav-search-icon avada-has-breadcrumb-mobile-hidden avada-has-titlebar-hide avada-header-border-color-full-transparent avada-has-pagination-width_height avada-flyout-menu-direction-fade avada-ec-views-v1" data-awb-post-id="43837"> 3823 <!-- Extrait Google Tag Manager (noscript) ajouté par Site Kit -->
vendor: 74 bytes, lines 3823-3825
3823 3824 <noscript> 3825 <iframe src="https://www.googletagmanager.com/ns.html?id=
3825GTM-KZKG3CW
vendor: 88 bytes, lines 3825-3827
3825" height="0" width="0" style="display:none;visibility:hidden"></iframe> 3826 </noscript> 3827
3827<!-- Terminer l'extrait de Google Tag Manager (noscript) ajouté par Site Kit --> 3828
3828<script type="text/javascript"> 3829 var doc = document.documentElement; 3830 doc.setAttribute( 'data-useragent', navigator.userAgent ); 3831 </script>
3831 3832 <a class="skip-link screen-reader-text" href="#content">Passer au contenu</a> 3833 3834 <div id="boxed-wrapper"> 3835 3836 <div id="wrapper" class="fusion-wrapper"> 3837 <div id="home" style="position:relative;top:-1px;"></div> 3838 <div class="fusion-tb-header"><header class="fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-small-visibility fusion-sticky-container fusion-custom-z-index" style="--awb-border-sizes-top:0px;--awb-border-sizes-bottom:0px;--awb-border-sizes-left:0px;--awb-border-sizes-right:0px;--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-z-index:9999;--awb-padding-top:15px;--awb-padding-right:5%;--awb-padding-bottom:15px;--awb-padding-left:5%;--awb-margin-top:0px;--awb-margin-bottom:0px;--awb-background-color:var(--awb-color8);--awb-flex-wrap:wrap;" data-transition-offset="0" data-scroll-offset="0" data-sticky-medium-visibility="1" data-sticky-large-visibility="1" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-space-around fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_4 1_4 fusion-flex-column fusion-no-small-visibility" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:auto;--awb-order-small:0;--awb-spacing-right-small:2%;--awb-spacing-left-small:2%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column"><div class="fusion-image-element" style="text-align:left;--awb-max-width:150px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-1 hover-type-none"><a class="fusion-no-lightbox" href="/" target="_self" aria-label="Logo-Header-Crooner-Radio-2025"><img fetchpriority="high" decoding="async" width="608" height="155" src="http://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025.webp" alt class="img-responsive wp-image-50215" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025-200x51.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025-400x102.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025-600x153.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025.webp 608w" sizes="(max-width: 640px) 100vw, 400px" /></a></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_2 1_2 fusion-flex-column" style="--awb-z-index:1;--awb-bg-size:cover;--awb-border-color:rgba(114,114,114,0.38);--awb-border-style:solid;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:0px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:0px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:0px;--awb-spacing-left-medium:0px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column"><nav class="awb-menu awb-menu_row awb-menu_em-hover mobile-mode-collapse-to-button awb-menu_icons-left awb-menu_dc-no mobile-trigger-fullwidth-off awb-menu_mobile-toggle awb-menu_indent-left awb-menu_mt-align-flex-end mobile-size-full-absolute loading mega-menu-loading awb-menu_desktop awb-menu_dropdown awb-menu_expand-center awb-menu_transition-fade fusion-no-small-visibility fusion-no-medium-visibility" style="--awb-font-size:14px;--awb-transition-time:290;--awb-gap:1.5%;--awb-justify-content:flex-end;--awb-color:var(--awb-color1);--awb-active-color:var(--awb-color5);--awb-submenu-space:15px;--awb-submenu-font-size:13px;--awb-icons-size:13;--awb-icons-color:var(--awb-color1);--awb-icons-hover-color:var(--awb-color5);--awb-main-justify-content:flex-start;--awb-mobile-nav-button-align-hor:flex-end;--awb-mobile-nav-items-height:64;--awb-mobile-trigger-font-size:20px;--awb-mobile-trigger-color:var(--awb-color1);--awb-mobile-trigger-background-color:var(--awb-color8);--awb-mobile-justify:flex-start;--awb-mobile-caret-left:auto;--awb-mobile-caret-right:0;--awb-fusion-font-family-typography:"Inter";--awb-fusion-font-style-typography:normal;--awb-fusion-font-weight-typography:500;--awb-fusion-font-family-submenu-typography:"Inter";--awb-fusion-font-style-submenu-typography:normal;--awb-fusion-font-weight-submenu-typography:400;--awb-fusion-font-family-mobile-typography:inherit;--awb-fusion-font-style-mobile-typography:normal;--awb-fusion-font-weight-mobile-typography:400;" aria-label="Main Menu - 2025 (FR)" data-breakpoint="1300" data-count="0" data-transition-type="fade" data-transition-time="290" data-expand="center"><button type="button" class="awb-menu__m-toggle" aria-expanded="false" aria-controls="menu-main-menu-2025-fr"><span class="awb-menu__m-toggle-inner"><span class="collapsed-nav-text">Menu</span><span class="awb-menu__m-collapse-icon"><span class="awb-menu__m-collapse-icon-open fa-bars fas"></span><span class="awb-menu__m-collapse-icon-close fa-times fas"></span></span></span></button><ul id="menu-main-menu-2025-fr" class="fusion-menu awb-menu__main-ul awb-menu__main-ul_row"><li id="menu-item-50000" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home current-menu-item page_item page-item-43837 current_page_item menu-item-50000 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50000"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/" class="awb-menu__main-a awb-menu__main-a_regular awb-menu__main-a_icon-only fusion-flex-link" aria-current="page"><span class="awb-menu__i awb-menu__i_main fusion-megamenu-icon"><i class="glyphicon fa-home fas" aria-hidden="true"></i></span><span class="menu-text"><span class="menu-title menu-title_no-desktop">Crooner Radio â Home (FR)</span></span></a></li><li id="menu-item-50056" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50056 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50056"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="#" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">|</span></a></li><li id="menu-item-50001" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-50001 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50001"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/actualites/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Actualités</span><span class="awb-menu__open-nav-submenu-hover"></span></a><button type="button" aria-label="Open submenu of Actualités" aria-expanded="false" class="awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_main awb-menu__megamenu_no_children"></button><div class="awb-menu__mega-wrap" id="awb-mega-menu-50179" data-width="custom_width" style="--awb-megamenu-width:900px"><div class="fusion-fullwidth fullwidth-box fusion-builder-row-1-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:10px;--awb-border-radius-bottom-left:10px;--awb-overflow:hidden;--awb-padding-right:6%;--awb-padding-bottom:2%;--awb-padding-left:6%;--awb-background-color:var(--awb-custom_color_5);--awb-flex-wrap:wrap;--awb-box-shadow:2px 10px 55px 1px var(--awb-color8);" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;
3838--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-link-hover-color:var(--awb-color5);--awb-font-size:21px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;"><a href="/actualites/" class="awb-custom-text-color awb-custom-text-hover-color" target="_self">A la Une</a></div></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div style="text-align:right;"><a class="fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-1 fusion-button-default-span fusion-button-default-type" style="--awb-margin-top:0px;--awb-margin-right:0px;--awb-margin-bottom:0px;--awb-margin-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--button_accent_color:var(--awb-color1);--button_accent_hover_color:var(--awb-color4);--button_border_hover_color:var(--awb-color4);--button_border_width-top:0px;--button_border_width-right:0px;--button_border_width-bottom:0px;--button_border_width-left:0px;--button_gradient_top_color:rgba(0,0,0,0);--button_gradient_bottom_color:rgba(0,0,0,0);--button_gradient_top_color_hover:rgba(255,255,255,0);--button_gradient_bottom_color_hover:rgba(255,255,255,0);--button_font_size:14px;--button_typography-font-family:"Inter";--button_typography-font-style:normal;--button_typography-font-weight:500;" target="_self" href="/actualites/"><i class="fa-newspaper fas awb-button__icon awb-button__icon--default button-icon-left" aria-hidden="true"></i><span class="fusion-button-text awb-button__text awb-button__text--default">Voir toutes les actualités</span></a></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-blog-shortcode fusion-blog-shortcode-1 fusion-blog-archive fusion-blog-layout-grid-wrapper fusion-blog-no" style="--grid_separator_color:rgba(0,0,0,0);"><style type="text/css">.fusion-blog-shortcode-1 .fusion-blog-layout-grid .fusion-post-grid{padding:6px;}.fusion-blog-shortcode-1 .fusion-posts-container{margin-left: -6px !important; margin-right:-6px !important;}</style><div class="fusion-posts-container fusion-posts-container-no fusion-no-meta-info fusion-blog-rollover fusion-blog-layout-grid fusion-blog-layout-grid-3 isotope fusion-blog-equal-heights" data-pages="96" data-grid-col-space="12" style="margin: -6px -6px 0;min-height:500px;"><article id="blog-1-post-55944" class="fusion-post-grid post-55944 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 3839<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 3840 3841 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 3842 <ul class="slides"> 3843 3844 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 3845 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidence
3845s-souvenirs-crooner-and-friends-emission-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Portrait de la chanteuse Liane Foly vêtue d'une veste noire en velours, le regard posé vers l'objectif." srcset="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 3846 <div class="fusion-rollover-content"> 3847 3848 3849 3850 3851 3852 3853 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/" aria-label="Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »"></a> 3854 </div> 3855</div> 3856</div> 3857</li> 3858 3859 3860 </ul> 3861 </div> 3862 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/">Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »</a></div></div></div><div class="fusion-clearfix"></div></div> 3863</article> 3864<article id="blog-1-post-55927" class="fusion-post-grid post-55927 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 3865<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 3866 3867 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 3868 <ul class="slides"> 3869 3870 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 3871 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-française-crooner-radio" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 3872 <div class="fusion-rollover-content"> 3873 3874 3875 3876 3877 3878 3879 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-07-28-sienna-spiro-pop-symphonique-soul-vintage-esthetique-neo-1960/" aria-label="Sienna Spiro la nouvelle star mondiale néo 60âs"></a> 3880 </div> 3881</div> 3882</div> 3883</li> 3884 3885 3886 </ul> 3887 </div> 3888 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-07-28-sienna-spiro-pop-symphonique-soul-vintage-esthetique-neo-1960/">Sienna Spiro la nouvelle star mondiale néo 60âs</a></div></div></div><div class="fusion-clearfix"></div></div> 3889</article> 3890<article id="blog-1-post-55924" class="fusion-post-grid post-55924 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 3891<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 3892 3893 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 3894 <ul class="slides"> 3895 3896 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 3897 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100v
3897w, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 3898 <div class="fusion-rollover-content"> 3899 3900 3901 3902 3903 3904 3905 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-07-27-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h/" aria-label="Un été des belles années 60/70 pour garder la crooner attitude"></a> 3906 </div> 3907</div> 3908</div> 3909</li> 3910 3911 3912 </ul> 3913 </div> 3914 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-07-27-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h/">Un été des belles années 60/70 pour garder la crooner attitude</a></div></div></div><div class="fusion-clearfix"></div></div> 3915</article> 3916<article id="blog-1-post-55908" class="fusion-post-grid post-55908 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 3917<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 3918 3919 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 3920 <ul class="slides"> 3921 3922 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 3923 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Les Puppini Sisters en interview sur Crooner Radio dans l'emission Crooner And Friends" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 3924 <div class="fusion-rollover-content"> 3925 3926 3927 3928 3929 3930 3931 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-22-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour/" aria-label="Interview | Les Puppini Sisters célèbrent 20 ans de charme et de swing"></a> 3932 </div> 3933</div> 3934</div> 3935</li> 3936 3937 3938 </ul> 3939 </div> 3940 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-22-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour/">Interview | Les Puppini Sisters célèbrent 20 ans de charme et de swing</a></div></div></div><div class="fusion-clearfix"></div></div> 3941</article> 3942<article id="blog-1-post-52117" class="fusion-post-grid post-52117 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 3943<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 3944 3945 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 3946 <ul class="slides"> 3947 3948 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 3949 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin.webp" class="attachment-full size-full wp-post-image" alt="2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-600x357.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-800x476.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin.webp 900w" sizes="(min-width: 2200px) 100v
3949w, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 3950 <div class="fusion-rollover-content"> 3951 3952 3953 3954 3955 3956 3957 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-18-fete-de-la-musique-2026-ou-sortir-a-paris-club-jazz-swing-dance-diner-dimanche-21-juin/" aria-label="Où sortir à Paris pour la fête de la musique le 21 Juin 2026 ?"></a> 3958 </div> 3959</div> 3960</div> 3961</li> 3962 3963 3964 </ul> 3965 </div> 3966 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-18-fete-de-la-musique-2026-ou-sortir-a-paris-club-jazz-swing-dance-diner-dimanche-21-juin/">Où sortir à Paris pour la fête de la musique le 21 Juin 2026 ?</a></div></div></div><div class="fusion-clearfix"></div></div> 3967</article> 3968<article id="blog-1-post-55894" class="fusion-post-grid post-55894 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 3969<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 3970 3971 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 3972 <ul class="slides"> 3973 3974 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 3975 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-12-img-frank-michael-hommage-mort-deces-disparition-crooner-charmes-belge-italien-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Portrait de Frank Michael en Smoking" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-12-img-frank-michael-hommage-mort-deces-disparition-crooner-charmes-belge-italien-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-12-img-frank-michael-hommage-mort-deces-disparition-crooner-charmes-belge-italien-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-12-img-frank-michael-hommage-mort-deces-disparition-crooner-charmes-belge-italien-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 3976 <div class="fusion-rollover-content"> 3977 3978 3979 3980 3981 3982 3983 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-12-frank-michael-hommage-mort-deces-disparition-crooner-charmes-belge-italien/" aria-label="Disparition de Frank Michael : l’adieu au crooner de charme"></a> 3984 </div> 3985</div> 3986</div> 3987</li> 3988 3989 3990 </ul> 3991 </div> 3992 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-12-frank-michael-hommage-mort-deces-disparition-crooner-charmes-belge-italien/">Disparition de Frank Michael : l’adieu au crooner de charme</a></div></div></div><div class="fusion-clearfix"></div></div> 3993</article> 3994<div class="fusion-clearfix"></div></div></div></div></div></div></div> 3995</div></li><li id="menu-item-55798" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-55798 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="55798"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/stations-de-radio/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Radios</span><span class="awb-menu__open-nav-submenu-hover"></span></a><button type="button" aria-label="Open submenu of Radios" aria-expanded="false" class="awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_main awb-menu__megamenu_no_children"></button><div class="awb-menu__mega-wrap" id="awb-mega-menu-50238" data-width="custom_width" style="--awb-megamenu-width:813px"><div class="fusion-fullwidth fullwidth-box fusion-builder-row-1-2 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:10px;--awb-border-radius-bottom-left:10px;--awb-overflow:hidden;--awb-padding-right:6%;--awb-padding-bottom:6%;--awb-padding-left:6%;--awb-background-color:var(--awb-custom_color_5);--awb-flex-wrap:wrap;--awb-box-shadow:2px 10px 55px 1px var(--awb-color8);" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_2_5 2_5 fusion-flex-column fusion-flex-align-self-center" style="--awb-bg-size:cover;--awb-width-large:40%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:4.8%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:4.8%;--awb-width-medium:40%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:4.8%;--awb-spacing-left-medium:4.8%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column"><div class="fusion-title title fusion-title-2 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;
3995--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-link-hover-color:var(--awb-color5);--awb-font-size:18px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;"><a href="/radio-numerique-terrestre-rnt-dab/" class="awb-custom-text-color awb-custom-text-hover-color" target="_self">Dans votre voiture</a></div></div><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(110%);"><span class=" fusion-imageframe imageframe-none imageframe-2 hover-type-none"><a class="fusion-no-lightbox" href="/radio-numerique-terrestre-rnt-dab/" target="_self" aria-label="25-03-20-IMG-SUPPORTS-ECOUTES-VOITURE-RADIO-NUMERIQUE-DAB"><img decoding="async" width="673" height="400" src="https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-VOITURE-RADIO-NUMERIQUE-DAB.webp" alt class="img-responsive wp-image-50333" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-VOITURE-RADIO-NUMERIQUE-DAB-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-VOITURE-RADIO-NUMERIQUE-DAB-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-VOITURE-RADIO-NUMERIQUE-DAB-600x357.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-VOITURE-RADIO-NUMERIQUE-DAB.webp 673w" sizes="(max-width: 640px) 100vw, 673px" /></a></span></div><div class="fusion-title title fusion-title-3 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-link-hover-color:var(--awb-color5);--awb-font-size:18px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;"><a href="/radio-numerique-terrestre-rnt-dab/" class="awb-custom-text-color awb-custom-text-hover-color" target="_self">Ã la maison ou au travail</a></div></div><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(110%);"><span class=" fusion-imageframe imageframe-none imageframe-3 hover-type-none"><a class="fusion-no-lightbox" href="/radio-numerique-terrestre-rnt-dab/" target="_self" aria-label="25-03-20-IMG-SUPPORTS-ECOUTES-HOME-RADIO-NUMERIQUE-DAB"><img decoding="async" width="673" height="400" src="https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-HOME-RADIO-NUMERIQUE-DAB.webp" alt class="img-responsive wp-image-50334" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-HOME-RADIO-NUMERIQUE-DAB-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-HOME-RADIO-NUMERIQUE-DAB-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-HOME-RADIO-NUMERIQUE-DAB-600x357.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-HOME-RADIO-NUMERIQUE-DAB.webp 673w" sizes="(max-width: 640px) 100v
3995w, 673px" /></a></span></div><div class="fusion-title title fusion-title-4 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-link-hover-color:var(--awb-color5);--awb-font-size:18px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;"><a href="/application/" class="awb-custom-text-color awb-custom-text-hover-color" target="_self">Partout sur votre smartphone</a></div></div><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(110%);"><span class=" fusion-imageframe imageframe-none imageframe-4 hover-type-none"><a class="fusion-no-lightbox" href="/application/" target="_self" aria-label="25-03-20-IMG-SUPPORTS-ECOUTES-SMARTPHONE-APPLICATION"><img decoding="async" width="673" height="400" src="https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-SMARTPHONE-APPLICATION.webp" alt class="img-responsive wp-image-50335" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-SMARTPHONE-APPLICATION-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-SMARTPHONE-APPLICATION-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-SMARTPHONE-APPLICATION-600x357.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/03/25-03-20-IMG-SUPPORTS-ECOUTES-SMARTPHONE-APPLICATION.webp 673w" sizes="(max-width: 640px) 100vw, 673px" /></a></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-6 fusion_builder_column_3_5 3_5 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:60%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:3.2%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.2%;--awb-width-medium:60%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:3.2%;--awb-spacing-left-medium:3.2%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column"><div class="fusion-title title fusion-title-5 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:21px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;">Notre station</div></div><nav class="awb-submenu awb-submenu_column awb-submenu_em-hover awb-submenu_icons-left awb-submenu_dc-no awb-submenu_transition-fade awb-submenu_dropdown awb-submenu_expand-left" style="--awb-transition-time:415;--awb-submenu-items-padding-bottom:2%;--awb-icons-size:10;--awb-main-justify-content:flex-end;--awb-color:var(--awb-color2);--awb-active-color:var(--awb-color4);--awb-icons-color:var(--awb-color5);--awb-items-padding-bottom:10px;--awb-font-size:16px;--awb-submenu-items-padding-bottom:2%;--awb-submenu-font-size:10px;--awb-fusion-font-family-typography:"Inter";--awb-fusion-font-style-typography:normal;--awb-fusion-font-weight-typography:400;--awb-fusion-font-family-submenu-typography:"Inter";--awb-fusion-font-style-submenu-typography:normal;--awb-fusion-font-weight-submenu-typography:300;" aria-label="Menu" data-count="0" data-transition-type="fade" data-transition-time="415" data-breakpoint="0"><ul id="menu-submenu-radio" class="fusion-menu awb-submenu__main-ul awb-submenu__main-ul_column"><li id="menu-item-50301" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50301 awb-submenu__li awb-submenu__main-li awb-submenu__main-li_regular" data-item-id="50301"><span class="awb-submenu__main-background-default awb-submenu__main-background-default_fade"></span><span class="awb-submenu__main-background-active awb-submenu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/radio-numerique-terrestre-rnt-dab/" class="awb-submenu__main-a awb-submenu__main-a_regular"><span class="menu-text">Ãcoutez en radio numérique terrestre DAB+</span></a></li><li id="menu-item-50302" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50302 awb-submenu__li awb-submenu__main-li awb-submenu__main-li_regular" data-item-id="50302"><span class="awb-submenu__main-background-default awb-submenu__main-background-default_fade"></span><span class="awb-submenu__main-background-active awb-submenu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/ecouter-crooner-radio-sur-internet/" class="awb-submenu__main-a awb-submenu__main-a_regular"><span class="menu-text">Ãcouter Crooner Radio sur Internet</span></a></li><li id="menu-item-50249" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50249 awb-submenu__li awb-submenu__main-li awb-submenu__main-li_regular" data-item-id="50249"><span class="awb-submenu__main-background-default awb-submenu__main-background-default_fade"></span><span class="awb-submenu__main-background-active awb-submenu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/radio/diffusion-frequences-reception-fm-dab-france-monaco-suisse-belgique-luxembourg/" class="awb-submenu__main-a awb-submenu__main-a_regular"><span class="menu-text">Nos Fréquences</span></a></li><li id="menu-item-50311" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50311 awb-submenu__li awb-submenu__main-li awb-submenu__main-li_regular" data-item-id="50311"><span class="awb-submenu__main-background-default awb-submenu__main-background-default_fade"></span><span class="awb-submenu__main-background-active awb-submenu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/stations-de-radio/" class="awb-submenu__main-a awb-submenu__main-a_regular"><span class="menu-text">Nos stations de radio</span></a></li><li id="menu-item-50300" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50300 awb-submenu__li awb-submenu__main-li awb-submenu__main-li_regular" data-item-id="50300"><span class="awb-submenu__main-background-default awb-submenu__main-background-default_fade"></span><span class="awb-submenu__main-background-active awb-submenu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/radio/grille-des-programmes/" class="awb-submenu__main-a awb-submenu__main-a_regular"><span class="menu-text">Grille des programmes</span></a></li><li id="menu-item-50304" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50304 awb-submenu__li awb-submenu__main-li awb-submenu__main-li_regular" data-item-id="50304"><span class="awb-submenu__main-background-default awb-submenu__main-background-default_fade"></span><span class="awb-submenu__main-background-active awb-submenu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/radio/artistes/" class="awb-submenu__main-a awb-submenu__main-a_regular"><span class="menu-text">Nos Artistes</span></a></li><li id="menu-item-50308" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50308 awb-submenu__li awb-submenu__main-li awb-submenu__main-li_regular" data-item-id="50308"><span class="awb-submenu__main-background-default awb-submenu__main-background-default_fade"></span><span class="awb-submenu__main-background-active awb-submenu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/radio/equipe/" class="awb-submenu__main-a awb-submenu__main-a_regular"><span class="menu-text">Lâéquipe de la station</span></a></li></ul></nav></div></div></div></div> 3996</div></li><li id="menu-item-54256" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-54256 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="54256"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/application/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Application</span><span class="awb-menu__open-nav-submenu-hover"></span></a><button type="button" aria-label="Open submenu of Application" aria-expanded="false" class="awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_main awb-menu__megamenu_no_children"></button><div class="awb-menu__mega-wrap" id="awb-mega-menu-50196" data-width="custom_width" style="--awb-megamenu-width:353px"><div class="fusion-fullwidth fullwidth-box fusion-builder-row-1-3 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:15px;--awb-border-radius-bottom-left:15px;--awb-overflow:hidden;--awb-padding-right:6%;--awb-padding-bottom:7%;--awb-padding-left:6%;--awb-background-color:var(--awb-custom_color_5);--awb-flex-wrap:wrap;--awb-box-shadow:2px 10px 55px 1px var(--awb-color8);" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-7 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-6 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;
3996--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:21px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;"><a href="/application/" class="awb-custom-text-color awb-custom-text-hover-color" target="_self">Application</a></div></div><div class="fusion-image-element" style="text-align:center;--awb-margin-bottom:8%;--awb-max-width:280px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-5 hover-type-none"><a class="fusion-no-lightbox" href="/application/" target="_self" aria-label="25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID"><img decoding="async" width="922" height="1021" src="https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID.webp" alt class="img-responsive wp-image-48904" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID-200x221.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID-400x443.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID-600x664.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID-800x886.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID.webp 922w" sizes="(max-width: 640px) 100vw, 922px" /></a></span></div><div class="fusion-image-element" style="text-align:center;--awb-margin-bottom:3%;--awb-max-width:180px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(120%);"><span class=" fusion-imageframe imageframe-none imageframe-6 hover-type-none"><a class="fusion-no-lightbox" href="https://apps.apple.com/fr/app/crooner-radio/id1065077340" target="_blank" aria-label="Download-FR-Crooner-Radio-App-Store" rel="noopener noreferrer"><img decoding="async" width="218" height="69" src="https://www.croonerradio.fr/wp-content/uploads/2021/11/Download-FR-Crooner-Radio-App-Store.webp" alt class="img-responsive wp-image-36924" srcset="https://www.croonerradio.fr/wp-content/uploads/2021/11/Download-FR-Crooner-Radio-App-Store-200x63.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2021/11/Download-FR-Crooner-Radio-App-Store.webp 218w" sizes="(max-width: 640px) 100vw, 218px" /></a></span></div><div class="fusion-image-element" style="text-align:center;--awb-margin-bottom:4%;--awb-max-width:180px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(120%);"><span class=" fusion-imageframe imageframe-none imageframe-7 hover-type-none"><a class="fusion-no-lightbox" href="https://play.google.com/store/apps/details?id=com.croonerradio.croonerradio" target="_blank" aria-label="Download-FR-Crooner-Radio-Play-Store" rel="noopener noreferrer"><img decoding="async" width="218" height="69" src="https://www.croonerradio.fr/wp-content/uploads/2021/11/Download-FR-Crooner-Radio-Play-Store.webp" alt class="img-responsive wp-image-36921" srcset="https://www.croonerradio.fr/wp-content/uploads/2021/11/Download-FR-Crooner-Radio-Play-Store-200x63.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2021/11/Download-FR-Crooner-Radio-Play-Store.webp 218w" sizes="(max-width: 640px) 100v
3996w, 218px" /></a></span></div></div></div></div></div> 3997</div></li><li id="menu-item-54245" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-54245 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="54245"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/podcasts/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Podcasts</span><span class="awb-menu__open-nav-submenu-hover"></span></a><button type="button" aria-label="Open submenu of Podcasts" aria-expanded="false" class="awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_main awb-menu__megamenu_no_children"></button><style>.avada-container-mm-podcast .blog-shortcode-post-title.entry-title { 3998 font-size: 13px !important; 3999 font-family: 'Inter', sans-serif !important; 4000 font-weight: 400 !important; 4001 line-height: 1.5 !important; 4002 color: #000000 !important; 4003} 4004 4005.avada-container-mm-podcast .fusion-post-content-wrapper { 4006 padding: 12px 0px 0px 0px !important; /* Ajustez les valeurs selon vos besoins */ 4007}</style><div class="awb-menu__mega-wrap" id="awb-mega-menu-50141" data-width="custom_width" style="--awb-megamenu-width:900px"><div class="fusion-fullwidth fullwidth-box fusion-builder-row-1-4 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:12px;--awb-border-radius-bottom-left:12px;--awb-overflow:hidden;--awb-padding-right:6%;--awb-padding-bottom:6%;--awb-padding-left:6%;--awb-background-color:var(--awb-custom_color_5);--awb-flex-wrap:wrap;--awb-box-shadow:2px 10px 55px 1px var(--awb-color8);" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-8 fusion_builder_column_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-7 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-link-hover-color:var(--awb-color5);--awb-font-size:21px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;"><a href="/podcasts/" class="awb-custom-text-color awb-custom-text-hover-color" target="_self">Nos Podcasts</a></div></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-9 fusion_builder_column_1_2 1_2 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div style="text-align:right;"><a class="fusion-button button-flat fusion-button-default-size button-custom fusion-button-default button-2 fusion-button-default-span fusion-button-default-type" style="--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--button_accent_color:var(--awb-color1);--button_border_color:#ffffff;--button_accent_hover_color:var(--awb-color4);--button_border_hover_color:var(--awb-color1);--button_gradient_top_color:rgba(255,255,255,0);--button_gradient_bottom_color:rgba(255,255,255,0);--button_gradient_top_color_hover:rgba(255,255,255,0);--button_gradient_bottom_color_hover:rgba(255,255,255,0);--button_font_size:14px;" target="_self" href="/podcasts/"><i class="fa-podcast fas awb-button__icon awb-button__icon--default button-icon-left" aria-hidden="true"></i><span class="fusion-button-text awb-button__text awb-button__text--default">Voir tous les podcasts de la station</span></a></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-10 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);
4007--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(120%);"><span class=" fusion-imageframe imageframe-none imageframe-8 hover-type-none"><a class="fusion-no-lightbox" href="/podcasts/crooner-and-friends/" target="_self" aria-label="2024-Podcast-Crooner-and-Friends"><img decoding="async" width="1500" height="1500" alt="Logo officiel du podcast Crooner And Friends" src="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends.webp" class="img-responsive wp-image-46728" srcset="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-200x200.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-400x400.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-600x600.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-800x800.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-1200x1200.webp 1200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends.webp 1500w" sizes="(max-width: 640px) 100vw, 400px" /></a></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-11 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(120%);"><span class=" fusion-imageframe imageframe-none imageframe-9 hover-type-none"><a class="fusion-no-lightbox" href="/podcasts/la-minute-crooner-attitude/" target="_self" aria-label="2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET"><img decoding="async" width="1500" height="1500" alt="2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET" src="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET.webp" class="img-responsive wp-image-46729" srcset="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-200x200.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-400x400.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-600x600.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-800x800.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-1200x1200.webp 1200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET.webp 1500w" sizes="(max-width: 640px) 100v
4007w, 400px" /></a></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-12 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(120%);"><span class=" fusion-imageframe imageframe-none imageframe-10 hover-type-none"><a class="fusion-no-lightbox" href="/podcasts/media-inside-actualite-des-medias/" target="_self" aria-label="Logo officiel du podcast Media Inside"><img decoding="async" width="1500" height="1500" alt="Logo officiel du podcast Media Inside de Terence De Rieu" src="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1.webp" class="img-responsive wp-image-46727" srcset="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-200x200.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-400x400.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-600x600.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-800x800.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-1200x1200.webp 1200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1.webp 1500w" sizes="(max-width: 640px) 100vw, 400px" /></a></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-13 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(120%);"><span class=" fusion-imageframe imageframe-none imageframe-11 hover-type-none"><a class="fusion-no-lightbox" href="/podcasts/crooner-gentlemen-drivers/" target="_self" aria-label="2024-Podcast-Gentlemen-Drivers"><img decoding="async" width="1500" height="1500" alt="2024-Podcast-Gentlemen-Drivers" src="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1.webp" class="img-responsive wp-image-46736" srcset="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1-200x200.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1-400x400.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1-600x600.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1-800x800.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1-1200x1200.webp 1200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1.webp 1500w" sizes="(max-width: 640px) 100v
4007w, 400px" /></a></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-14 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:2%;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-8 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-link-hover-color:var(--awb-color5);--awb-font-size:21px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;"><a href="/podcasts/" class="awb-custom-text-color awb-custom-text-hover-color" target="_self">Nos Derniers Podcasts</a></div></div><div class="fusion-blog-shortcode fusion-blog-shortcode-2 fusion-blog-archive fusion-blog-layout-grid-wrapper fusion-blog-no" style="--grid_separator_color:rgba(0,0,0,0);"><style type="text/css">.fusion-blog-shortcode-2 .fusion-blog-layout-grid .fusion-post-grid{padding:6px;}.fusion-blog-shortcode-2 .fusion-posts-container{margin-left: -6px !important; margin-right:-6px !important;}</style><div class="fusion-posts-container fusion-posts-container-no fusion-no-meta-info fusion-blog-rollover fusion-blog-layout-grid fusion-blog-layout-grid-3 isotope fusion-blog-equal-heights" data-pages="44" data-grid-col-space="12" style="margin: -6px -6px 0;min-height:500px;"><article id="blog-2-post-55944" class="fusion-post-grid post-55944 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 4008<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 4009 4010 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 4011 <ul class="slides"> 4012 4013 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 4014 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidence
4014s-souvenirs-crooner-and-friends-emission-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Portrait de la chanteuse Liane Foly vêtue d'une veste noire en velours, le regard posé vers l'objectif." srcset="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 4015 <div class="fusion-rollover-content"> 4016 4017 4018 4019 4020 4021 4022 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/" aria-label="Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »"></a> 4023 </div> 4024</div> 4025</div> 4026</li> 4027 4028 4029 </ul> 4030 </div> 4031 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/">Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »</a></div></div></div><div class="fusion-clearfix"></div></div> 4032</article> 4033<article id="blog-2-post-55908" class="fusion-post-grid post-55908 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 4034<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 4035 4036 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 4037 <ul class="slides"> 4038 4039 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 4040 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Les Puppini Sisters en interview sur Crooner Radio dans l'emission Crooner And Friends" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 4041 <div class="fusion-rollover-content"> 4042 4043 4044 4045 4046 4047 4048 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-22-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour/" aria-label="Interview | Les Puppini Sisters célèbrent 20 ans de charme et de swing"></a> 4049 </div> 4050</div> 4051</div> 4052</li> 4053 4054 4055 </ul> 4056 </div> 4057 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-22-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour/">Interview | Les Puppini Sisters célèbrent 20 ans de charme et de swing</a></div></div></div><div class="fusion-clearfix"></div></div> 4058</article> 4059<article id="blog-2-post-38282" class="fusion-post-grid post-38282 post type-post status-publish format-standard has-post-thumbnail hentry category-artistes category-chanteur category-crooner-and-friends category-emission category-musique category-personnalites category-podcast-emission category-top-actu category-top-podcasts"> 4060<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 4061 4062 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 4063 <ul class="slides"> 4064 4065 <li><div class="fusion-image-wrapper" aria-haspopup="true">
4066 <img decoding="async" width="773" height="459" src="https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="2021-12-13-françoise-hardy-interview-chanteuse-crooner-radio" srcset="https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio-600x356.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio.webp 773w" sizes="(min-width: 2200px) 100vw, (min-width: 784px) 550px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 4067 <div class="fusion-rollover-content"> 4068 4069 4070 4071 4072 4073 4074 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-09-francoise-hardy-une-artiste-amoureuse-de-la-famille-et-des-grandes-voix-internationales/" aria-label="Françoise Hardy, une artiste amoureuse de la famille et des grandes voix internationales"></a> 4075 </div> 4076</div> 4077</div> 4078</li> 4079 4080 4081 </ul> 4082 </div> 4083 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-09-francoise-hardy-une-artiste-amoureuse-de-la-famille-et-des-grandes-voix-internationales/">Françoise Hardy, une artiste amoureuse de la famille et des grandes voix internationales</a></div></div></div><div class="fusion-clearfix"></div></div> 4084</article> 4085<div class="fusion-clearfix"></div></div></div></div></div></div></div> 4086</div></li><li id="menu-item-51749" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-51749 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="51749"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="#" class="awb-menu__main-a awb-menu__main-a_regular awb-menu__main-a_icon-only fusion-flex-link"><span class="awb-menu__i awb-menu__i_main fusion-megamenu-icon"><i class="glyphicon fa-envelope fas" aria-hidden="true"></i></span><span class="menu-text"><span class="menu-title menu-title_no-desktop">Contact</span></span><span class="awb-menu__open-nav-submenu-hover"></span></a><button type="button" aria-label="Open submenu of Contact" aria-expanded="false" class="awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_main awb-menu__megamenu_no_children"></button><div class="awb-menu__mega-wrap" id="awb-mega-menu-50451" data-width="custom_width" style="--awb-megamenu-width:800px"><div class="fusion-fullwidth fullwidth-box fusion-builder-row-1-5 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:10px;--awb-border-radius-bottom-left:10px;--awb-overflow:hidden;--awb-padding-right:6%;--awb-padding-bottom:6%;--awb-padding-left:6%;--awb-background-color:var(--awb-custom_color_5);--awb-flex-wrap:wrap;--awb-box-shadow:2px 10px 55px 1px var(--awb-color8);" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-15 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-9 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;
4086--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:21px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;">Prenons contact !</div></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-16 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-content-boxes content-boxes columns row fusion-columns-4 fusion-columns-total-4 fusion-content-boxes-1 content-boxes-icon-on-top content-left has-flex-alignment" style="--awb-alignment:flex-start;--awb-title-color:var(--awb-color3);--awb-iconcolor:var(--awb-color2);--awb-iconcolor-hover:var(--awb-color4);--awb-item-margin-bottom:0px;--awb-margin-top:50px;--awb-margin-bottom:0px;--awb-hover-accent-color:var(--awb-color4);--awb-circle-hover-accent-color:transparent;" data-animationOffset="top-into-view"><div style="--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:var(--awb-color2);--awb-iconcolor-hover:var(--awb-color4);" class="fusion-column content-box-column content-box-column content-box-column-1 col-lg-3 col-md-3 col-sm-3 fusion-content-box-hover content-box-column-first-in-row"><div class="col content-box-wrapper content-wrapper link-area-link-icon link-type-button-bar icon-hover-animation-fade" data-animationOffset="top-into-view"><div class="heading heading-with-icon icon-left"><a class="heading-link" href="/contact/" target="_blank" rel="noopener noreferrer"><div class="icon"><i style="background-color:transparent;border-color:transparent;height:auto;width: 55px;line-height:normal;font-size:55px;" aria-hidden="true" class="fontawesome-icon fa-envelope fas circle-no"></i></div><div class="content-box-heading" style="--body_typography-font-size:17px;line-height:22px;">Nous écrire</div></a></div></div></div><div style="--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:var(--awb-color2);--awb-iconcolor-hover:var(--awb-color4);" class="fusion-column content-box-column content-box-column content-box-column-2 col-lg-3 col-md-3 col-sm-3 fusion-content-box-hover "><div class="col content-box-wrapper content-wrapper link-area-link-icon link-type-button-bar icon-hover-animation-fade" data-animationOffset="top-into-view"><div class="heading heading-with-icon icon-left"><a class="heading-link" href="/faq-questions-reponses-support/" target="_blank" rel="noopener noreferrer"><div class="icon"><i style="background-color:transparent;border-color:transparent;height:auto;width: 55px;line-height:normal;font-size:55px;" aria-hidden="true" class="fontawesome-icon fa-question fas circle-no"></i></div><div class="content-box-heading" style="--body_typography-font-size:17px;line-height:22px;">Foire aux question</div></a></div></div></div><div style="--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:var(--awb-color2);--awb-iconcolor-hover:var(--awb-color4);" class="fusion-column content-box-column content-box-column content-box-column-3 col-lg-3 col-md-3 col-sm-3 fusion-content-box-hover "><div class="col content-box-wrapper content-wrapper link-area-link-icon link-type-button-bar icon-hover-animation-fade" data-animationOffset="top-into-view"><div class="heading heading-with-icon icon-left"><a class="heading-link" href="/regie-publicitaire-sponsoring-publicite/" target="_blank" rel="noopener noreferrer"><div class="icon"><i style="background-color:transparent;border-color:transparent;height:auto;width: 55px;line-height:normal;font-size:55px;" aria-hidden="true" class="fontawesome-icon fa-comment-dollar fas circle-no"></i></div><div class="content-box-heading" style="--body_typography-font-size:17px;line-height:22px;">Votre publicité à l'antenne</div></a></div></div></div><div style="--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:var(--awb-color2);--awb-iconcolor-hover:var(--awb-color4);" class="fusion-column content-box-column content-box-column content-box-column-4 c
4086ol-lg-3 col-md-3 col-sm-3 fusion-content-box-hover content-box-column-last content-box-column-last-in-row"><div class="col content-box-wrapper content-wrapper link-area-link-icon link-type-button-bar icon-hover-animation-fade" data-animationOffset="top-into-view"><div class="heading heading-with-icon icon-left"><a class="heading-link" href="/crooner-factory/" target="_blank" rel="noopener noreferrer"><div class="icon"><i style="background-color:transparent;border-color:transparent;height:auto;width: 55px;line-height:normal;font-size:55px;" aria-hidden="true" class="fontawesome-icon fa-wrench fas circle-no"></i></div><div class="content-box-heading" style="--body_typography-font-size:17px;line-height:22px;">Notre Factory</div></a></div></div></div><div class="fusion-clearfix"></div></div></div></div></div></div> 4087</div></li><li id="menu-item-50057" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50057 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50057"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="#" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">|</span></a></li><li id="menu-item-50058" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50058 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50058"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.facebook.com/croonerradioDAB" class="awb-menu__main-a awb-menu__main-a_regular awb-menu__main-a_icon-only fusion-flex-link"><span class="awb-menu__i awb-menu__i_main fusion-megamenu-icon"><i class="glyphicon fa-facebook-f fab" aria-hidden="true"></i></span><span class="menu-text"><span class="menu-title menu-title_no-desktop">Facebook</span></span></a></li><li id="menu-item-50059" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50059 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50059"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.instagram.com/croonerradio/" class="awb-menu__main-a awb-menu__main-a_regular awb-menu__main-a_icon-only fusion-flex-link"><span class="awb-menu__i awb-menu__i_main fusion-megamenu-icon"><i class="glyphicon fa-instagram fab" aria-hidden="true"></i></span><span class="menu-text"><span class="menu-title menu-title_no-desktop">Instagram</span></span></a></li><li id="menu-item-50060" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50060 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50060"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="#" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">|</span></a></li><li id="menu-item-50061" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50061 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50061"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/feed/" class="awb-menu__main-a awb-menu__main-a_regular awb-menu__main-a_icon-only fusion-flex-link"><span class="awb-menu__i awb-menu__i_main fusion-megamenu-icon"><i class="glyphicon fa-rss fas" aria-hidden="true"></i></span><span class="menu-text"><span class="menu-title menu-title_no-desktop">RSS</span></span></a></li><li id="menu-item-50062" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children custom-menu-search awb-menu__li_search-dropdown menu-item-50062 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="50062"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a class="awb-menu__main-a awb-menu__main-a_regular fusion-main-menu-icon awb-menu__main-a_icon-only" href="#" aria-label="Recherche" data-title="Recherche" title="Recherche"><span class="awb-menu__i awb-menu__i_main"><i class="glyphicon fa-search fas" aria-hidden="true"></i></span></a><button type="button" aria-label="Expand Search" aria-expanded="false" class="awb-menu__open-nav-submenu_mobile awb-menu__open-nav-submenu_main"></button><ul class="awb-menu__sub-ul awb-menu__sub-ul_main fusion-menu-searchform-dropdown"><li class="awb-menu__sub-li"> <form role="search" class="searchform fusion-search-form fusion-search-form-classic" method="get" action="https://www.croonerradio.fr/"> 4088 <div class="fusion-search-form-content"> 4089 4090 4091 <div class="fusion-search-field search-field"> 4092 <label><span class="screen-reader-text">Rechercher:</span> 4093 <input type="search" value="" name="s" class="s" placeholder="Rechercher..." required aria-required="true" aria-label="Rechercher..."/> 4094 </label>
4095 </div> 4096 <div class="fusion-search-button search-button"> 4097 <input type="submit" class="fusion-search-submit searchsubmit" aria-label="Recherche" value="" /> 4098 </div> 4099 4100 4101 </div> 4102 4103 4104 4105 </form> 4106 </li></ul></li></ul></nav></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-17 fusion_builder_column_1_4 1_4 fusion-flex-column fusion-no-small-visibility" style="--awb-padding-right:15px;--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:0px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:0px;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:0px;--awb-spacing-left-medium:0px;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-end fusion-content-layout-column"><div class="radio-display dy-mini-player dy-display-logo " onclick="window.dyRadio.toggleDropdown(this, event)" title="Ouvrir la liste des stations" style="margin-left: 0; margin-right: auto; background: linear-gradient(135deg, rgba(255,255,255,0.08) 1%, rgba(0,0,0,1) 54%) !important; border-radius: 10px 10px 10px 10px; padding-left: 10px;" data-truncate-artist="25" data-truncate-title="30" data-truncate-podcast="0" data-switch-time="5" data-dd-switch-time="5" data-split-enable="1" data-split-keywords="Feat., Featuring., with, ft."> 4107 <div style="display: flex; align-items: center; padding-left: 10px;"> 4108 <span class="play-button fas fa-play" onclick="toggleDevYvesRadio(event); event.stopPropagation();" style="padding-right: 15px; font-size: <?php echo $play_size; ?>px;"></span> 4109 <div class="dy-volume-wrap" onclick="window.dyRadio.toggleVolume(this, event)" ontouchstart="window.dyRadio.toggleVolume(this, event)"> 4110 <svg class="dy-volume-toggle-svg" viewBox="0 0 24 24" style="fill: currentColor;"> 4111 <path d="M11.66 3.9a.75.75 0 0 1 .34.63v14.94a.75.75 0 0 1-1.23.58l-5.3-4.32H2.25A1.25 1.25 0 0 1 1 14.48v-4.96A1.25 1.25 0 0 1 2.25 8.27h3.22l5.3-4.32a.75.75 0 0 1 .89-.05z" /> 4112 <path class="dy-vol-wave" d="M14.8 9a.75.75 0 0 1 1.06 0 4.25 4.25 0 0 1 0 6 .75.75 0 1 1-1.06-1.06 2.75 2.75 0 0 0 0-3.88A.75.75 0 0 1 14.8 9z" /> 4113 <path class="dy-vol-wave" d="M17.88 5.82a.75.75 0 0 1 1.06 0 8.75 8.75 0 0 1 0 12.36.75.75 0 0 1-1.06-1.06 7.25 7.25 0 0 0 0-10.24.85.75 0 0 1 0-1.06z" /> 4114 <path class="dy-vol-mute" d="M22.28 12l1.97-1.97a.75.75 0 1 0-1.06-1.06l-1.97 1.97-1.97-1.97a.75.75 0 1 0-1.06 1.06L20.16 12l-1.97 1.97a.75.75 0 0 0 1.06 1.06l1.97-1.97 1.97 1.97a.75.75 0 0 0 1.06-1.06L22.28 12z" /> 4115 </svg> 4116 <div class="dy-volume-popup" onclick="event.stopPropagation()"> 4117 <div class="dy-volume-slider-bg" onmousedown="window.dyRadio.handleSlider(event, this)" ontouchstart="window.dyRadio.handleSlider(event, this)"> 4118 <div class="dy-mini-volume-rail"> 4119 <div class="dy-mini-volume-fill" style="height: 100%;"></div> 4120 </div> 4121 </div> 4122 </div> 4123 </div> 4124 </div> 4125 <div class="dy-img-fixed-container" style="width: 60px; height: 60px; margin-right: 15px; border-radius: 6px;"> 4126 <img decoding="async" class="radio-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Logo" style="border-radius: 6px; transition: opacity 0.8s ease-in-out;"> 4127 <img decoding="async" class="radio-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Cover" style="border-radius: 6px; transition: opacity 0.8s ease-in-out; opacity: 0;"> 4128 </div> 4129 <div class="radio-text" style="display: flex; flex-direction: column; justify-content: center; width: calc(100% - 90px); min-height: 50px;"> 4130 4131 <p class="on-air" style="display: block; animation: dyBlink 1.5s infinite;">ON AIR</p> 4132 <p class="radio-subtitle" style="">Crooner Radio</p> 4133 <p class="radio-title" style="">Veuillez patienter...</p> 4134 4135 <p class="dy-mini-podcast-title" style="margin: 0; line-height: 1.2; max-height: 2.4em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; width: 100%;">Chargement...</p>
4136 <div class="dy-mini-podcast-controls" style="display:flex; align-items:center; gap:10px; width: 100%;" onclick="event.stopPropagation()"> 4137 <span class="dy-podcast-time">00:00</span> 4138 <div class="dy-podcast-progress-bg" style="flex:1; margin:0;"> 4139 <div class="dy-podcast-progress-rail"> 4140 <div class="dy-podcast-progress-fill"></div> 4141 </div> 4142 </div> 4143 <div class="dy-expand-mini-btn" style="display:flex; align-items:center; gap:5px; cursor:pointer; color:#a08053; flex-shrink: 0;" onclick="window.dyRadio.toggleDropdown(this.closest('.radio-display'), event)" > 4144 <span class="dy-expand-text" style="font-size:10px; color:#ffffff; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; opacity:0.9;"></span> 4145 <i class="fas fa-chevron-down" style="font-size:calc(10px + 2px);"></i> 4146 </div> 4147 </div> 4148 </div><div class="dy-mini-dropdown" onclick="event.stopPropagation()"><div class="dy-dropdown-item" onclick="dyRadio.playStation(0, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio</div><div class="dy-dd-artist dy-station-artist-0">Chargement...</div><div class="dy-dd-title dy-station-title-0">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(1, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-AMERICAN.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-AMERICAN.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio American</div><div class="dy-dd-artist dy-station-artist-1">Chargement...</div><div class="dy-dd-title dy-station-title-1">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(2, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-BARBRA-STREISAND.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-BARBRA-STREISAND.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Barbra Streisand</div><div class="dy-dd-artist dy-station-artist-2">Chargement...</div><div class="dy-dd-title dy-station-title-2">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(3, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CELINE-DION.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CELINE-DION.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Céline Dion</div><div class="dy-dd-artist dy-station-artist-3">Chargement...</div><div class="dy-dd-title dy-station-title-3">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(4, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CLASSIC-GOLD.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CLASSIC-GOLD.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Classic Gold</div><div class="dy-dd-artist dy-station-artist-4">Chargement...</div><div class="dy-dd-title dy-station-title-4">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(5, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-DEAN-MARTIN.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-DEAN-MARTIN.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Dean Martin</div><div class="dy-dd-artist dy-station-artist-5">Chargement...</div><div class="dy-dd-title dy-station-title-5">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(6, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ELVIS-PRESLEY.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ELVIS-PRESLEY.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Elvis Presley</div><div class="dy-dd-artist dy-station-artist-6">Chargement...</div><div class="dy-dd-title dy-station-title-6">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(7, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRANK-SINATRA.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRANK-SINATRA.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Frank Sinatra</div><div class="dy-dd-artist dy-station-artist-7">Chargement...</div><div class="dy-dd-title dy-station-title-7">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(8, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRENCHY.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRENCHY.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Frenchy</div><div class="dy-dd-artist dy-station-artist-8">Chargement...</div><div class="dy-dd-title dy-station-title-8">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(9, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-GENTLEMEN-DRIVERS.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-GENTLEMEN-DRIVERS.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Gentlemen Drivers</div><div class="dy-dd-artist dy-station-artist-9">Chargement...</div><div class="dy-dd-title dy-station-title-9">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(10, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ITALIANO.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ITALIANO.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Italiano</div><div class="dy-dd-artist dy-station-artist-10">Chargement...</div><div class="dy-dd-title dy-station-title-10">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(11, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-JULIO-IGLESIAS.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-JULIO-IGLESIAS.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Julio Iglesias</div><div class="dy-dd-artist dy-station-artist-11">Chargement...</div><div class="dy-dd-title dy-station-title-11">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(12, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LEGENDS.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LEGENDS.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Legends</div><div class="dy-dd-artist dy-station-artist-12">Chargement...</div><div class="dy-dd-title dy-station-title-12">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(13, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOUNGE.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOUNGE.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Lounge</div><div class="dy-dd-artist dy-station-artist-13">Chargement...</div><div class="dy-dd-title dy-station-title-13">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(14, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOVE.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOVE.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Love</div><div class="dy-dd-artist dy-station-artist-14">Chargement...</div><div class="dy-dd-title dy-station-title-14">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(15, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MICHAEL-BUBLE.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MICHAEL-BUBLE.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Michael Bublé</div><div class="dy-dd-artist dy-station-artist-15">Chargement...</div><div class="dy-dd-title dy-station-title-15">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(16, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MOVIES.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MOVIES.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Movies</div><div class="dy-dd-artist dy-station-artist-16">Chargement...</div><div class="dy-dd-title dy-station-title-16">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(17, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-PREMIUM.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-PREMIUM.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-tex
4148t"><div class="dy-dd-name">Crooner Radio Premium</div><div class="dy-dd-artist dy-station-artist-17">Chargement...</div><div class="dy-dd-title dy-station-title-17">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(18, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SWING.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SWING.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Swing</div><div class="dy-dd-artist dy-station-artist-18">Chargement...</div><div class="dy-dd-title dy-station-title-18">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(19, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SUMMER.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SUMMER.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Summer</div><div class="dy-dd-artist dy-station-artist-19">Chargement...</div><div class="dy-dd-title dy-station-title-19">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(20, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ZEN.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ZEN.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Zen</div><div class="dy-dd-artist dy-station-artist-20">Chargement...</div><div class="dy-dd-title dy-station-title-20">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(21, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Christmas</div><div class="dy-dd-artist dy-station-artist-21">Chargement...</div><div class="dy-dd-title dy-station-title-21">--</div></div></div><div class="dy-dropdown-item" onclick="dyRadio.playStation(22, event); window.dyRadio.closeDropdowns();"><div class="dy-img-fixed-container" style="width: 45px; height: 45px; margin-right: 12px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);"> <img decoding="async" class="dy-dd-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS-VINTAGE.jpg" alt="Logo" style="transition: opacity 0.8s ease-in-out;"> <img decoding="async" class="dy-dd-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS-VINTAGE.jpg" alt="Cover" style="transition: opacity 0.8s ease-in-out; opacity: 0;"></div><div class="dy-dd-text"><div class="dy-dd-name">Crooner Radio Christmas Vintage</div><div class="dy-dd-artist dy-station-artist-22">Chargement...</div><div class="dy-dd-title dy-station-title-22">--</div></div></div></div></div></div></div></div></header><div class="fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-medium-visibility fusion-no-large-visibility fusion-custom-z-index" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-overflow:visible;--awb-z-index:9999999;--awb-padding-top:2%;--awb-padding-right:2%;--awb-padding-bottom:2%;--awb-padding-left:2%;--awb-background-color:var(--awb-color8);--awb-flex-wrap:nowrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-18 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-row fusion-flex-align-items-center fusion-content-nowrap"><nav class="awb-menu awb-menu_row awb-menu_em-hover mobile-mode-collapse-to-button awb-menu_icons-left awb-menu_dc-yes mobile-trigger-fullwidth-off awb-menu_mobile-toggle awb-menu_indent-left awb-menu_mt-align-flex-start mobile-size-full-absolute loading mega-menu-loading awb-menu_desktop awb-menu_dropdown awb-menu_expand-right awb-menu_transition-fade" style="--awb-font-size:14px;--awb-submenu-bg:var(--awb-color8);--awb-submenu-sep-color:#474747;--awb-submenu-font-size:17px;--awb-main-justify-content:flex-start;--awb-mobile-bg:var(--awb-color8);--awb-mobile-color:var(--awb-color1);--awb-mobile-nav-items-height:80;--awb-mobile-trigger-font-size:16px;--awb-mobile-trigger-color:var(--awb-color1);--awb-mobile-trigger-background-color:var(--awb-color7);--awb-mobile-font-size:20px;--awb-mobile-sep-color:#3f3f3f;--awb-mobile-justify:flex-start;--awb-mobile-caret-left:auto;--awb-mobile-caret-right:0;--awb-fusion-font-family-typography:"Inter";--awb-fusion-font-style-typography:normal;--awb-fusion-font-weight-typography:700;--awb-fusion-font-family-submenu-typography:"Inter";--awb-fusion-font-style-submenu-typography:normal;--awb-fusion-font-weight-submenu-typography:700;--awb-fusion-font-family-mobile-typography:"Inter";--awb-fusion-font-style-mobile-typography:normal;--awb-fusion-font-weight-mobile-typography:700;" aria-label="MAIN MENU (FR) (Portable)" data-breakpoint="1024" data-count="1" data-transition-type="fade" data-transition-time="300" data-expand="right"><button type="button" class="awb-menu__m-toggle awb-menu__m-toggle_no-text" aria-expanded="false" aria-controls="menu-main-menu-fr-portable"><span class="awb-menu__m-toggle-inner"><span class="collapsed-nav-text"><span class="screen-reader-text">Toggle Navigation</span></span><span class="awb-menu__m-collapse-icon awb-menu__m-collapse-icon_no-text"><span class="awb-menu__m-collapse-icon-open awb-menu__m-collapse-icon-open_no-text fa-bars fas"></span><span class="awb-menu__m-collapse-icon-close awb-menu__m-collapse-icon-close_no-text fa-times fas"></span></span></span></button><ul id="menu-main-menu-fr-portable" class="fusion-menu awb-menu__main-ul awb-menu__main-ul_row"><li id="menu-item-30875" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-30875 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="30875"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/" class="awb-menu__main-a awb-menu__main-a_regular" aria-current="page"><span class="menu-text">Accueil</span></a></li><li id="menu-item-54712" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-54712 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="54712"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/podcasts/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Podcasts</span></a></li><li id="menu-item-19351" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19351 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="19351"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="/actualites/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Actualités</span></a></li><li id="menu-item-46238" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-46238 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="46238"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="/ecouter-crooner-radio-sur-internet/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Nos flux audio</span></a></li><li id="menu-item-19353" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19353 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="19353"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="/application-radio-crooner-smartphone-tablette-android-apple/" class="awb-menu__main-a awb-menu__main-a_regular fusion-flex-link"><span class="awb-menu__i awb-menu__i_main fusion-megamenu-icon"><i class="glyphicon fa-mobile-alt fas" aria-hidden="true"></i></span><span class="menu-text">Télécharger notre application</span></a></li><li id="menu-item-19354" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19354 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="19354"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="/contact/" class="awb-menu__main-a awb-menu__main-a_regular fusion-flex-link"><span class="awb-menu__i awb-menu__i_main fusion-megamenu-icon"><i class="glyphicon fa-envelope fas" aria-hidden="true"></i></span><span class="menu-text">Contact</span></a></li></ul></nav></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-19 fusion_builder_column_1_2 1_2 fusion-flex-column fusion-flex-align-self-center fusion-no-medium-visibility fusion-no-large-visibility" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:1%;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:auto;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:2%;--awb-spacing-left-small:2%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-row fusion-flex-align-items-center"><div class="fusion-image-element" style="text-align:center;--awb-max-width:350px;--awb-caption-title-font-family:var(--h2_typography-font-family);
4148--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-12 hover-type-none"><a class="fusion-no-lightbox" href="/" target="_self" aria-label="Logo-Header-Crooner-Radio-2025"><img decoding="async" width="608" height="155" src="http://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025.webp" alt class="img-responsive wp-image-50215" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025-200x51.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025-400x102.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025-600x153.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Logo-Header-Crooner-Radio-2025.webp 608w" sizes="(max-width: 640px) 100vw, 608px" /></a></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-20 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"></div></div></div></div> 4149</div> <div id="sliders-container" class="fusion-slider-visibility"> 4150 </div> 4151 4152 4153 <main id="main" class="clearfix width-100"> 4154 <div class="fusion-row" style="max-width:100%;"> 4155 4156<section id="content" style="width: 100%;"> 4157 <div id="post-43837" class="post-43837 page type-page status-publish has-post-thumbnail hentry category-page-web"> 4158 4159 <div class="post-content"> 4160 <div class="fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-21 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-content-tb fusion-content-tb-1" style="--awb-text-color:var(--awb-color1);--awb-text-transform:none;"><div class="fusion-fullwidth fullwidth-box fusion-builder-row-3-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-medium-visibility fusion-no-large-visibility fusion-custom-z-index" style="--awb-border-sizes-top:0px;--awb-border-sizes-bottom:0px;--awb-border-sizes-left:0px;--awb-border-sizes-right:0px;--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-z-index:-50;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-margin-top:0px;--awb-margin-bottom:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-22 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element" style="text-align:center;--awb-caption-title-font-family:var(--h2_typography-font-family);
4160--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-13 hover-type-none"><a class="fusion-no-lightbox" href="application" target="_self" aria-label="25-06-06_SLIDE_IMG_SMARTPHONE_APPLICATION_CROONER_RADIO_JAZZ_POP_APPLE_ANDROID_GRATUIT_CROONERRADIO_SHORT"><img decoding="async" width="1000" height="1410" src="https://www.croonerradio.fr/wp-content/uploads/2026/04/25-06-06_SLIDE_IMG_SMARTPHONE_APPLICATION_CROONER_RADIO_JAZZ_POP_APPLE_ANDROID_GRATUIT_CROONERRADIO_SHORT.webp" alt class="img-responsive wp-image-54491" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/04/25-06-06_SLIDE_IMG_SMARTPHONE_APPLICATION_CROONER_RADIO_JAZZ_POP_APPLE_ANDROID_GRATUIT_CROONERRADIO_SHORT-200x282.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/04/25-06-06_SLIDE_IMG_SMARTPHONE_APPLICATION_CROONER_RADIO_JAZZ_POP_APPLE_ANDROID_GRATUIT_CROONERRADIO_SHORT-400x564.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/04/25-06-06_SLIDE_IMG_SMARTPHONE_APPLICATION_CROONER_RADIO_JAZZ_POP_APPLE_ANDROID_GRATUIT_CROONERRADIO_SHORT-600x846.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2026/04/25-06-06_SLIDE_IMG_SMARTPHONE_APPLICATION_CROONER_RADIO_JAZZ_POP_APPLE_ANDROID_GRATUIT_CROONERRADIO_SHORT-800x1128.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2026/04/25-06-06_SLIDE_IMG_SMARTPHONE_APPLICATION_CROONER_RADIO_JAZZ_POP_APPLE_ANDROID_GRATUIT_CROONERRADIO_SHORT.webp 1000w" sizes="(max-width: 640px) 100vw, 1000px" /></a></span></div></div></div></div></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-3-2 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-small-visibility" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-margin-top:2%;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-23 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"> <style> 4161 @keyframes dyElegantBlink { 4162 0%, 100% { 4163 opacity: 0.5; 4164 transform: scale(1); 4165 } 4166 50% { 4167 opacity: 1; 4168 transform: scale(1.15); 4169 } 4170 } 4171 4172 #carousel-full-6ab5374f50913.dy-fullscreen, 4173 #carousel-full-6ab5374f50913:fullscreen { 4174 position: fixed !important; 4175 top: 0 !important; 4176 left: 0 !important; 4177 width: 100vw !important; 4178 height: 100vh !important; 4179 z-index: 999999 !important; 4180 border-radius: 0 !important; 4181 margin: 0 !important; 4182 max-width: 100vw !important; 4183 max-height: 100vh !important; 4184 background: #000000 !important; 4185 } 4186 4187 #carousel-full-6ab5374f50913.dy-fullscreen .dy-fullscreen-toggle-btn, 4188 #carousel-full-6ab5374f50913:fullscreen .dy-fullscreen-toggle-btn { 4189 animation: none !important; 4190 background: transparent !important; 4191 color: #ffffff !important; 4192 border: none !important; 4193 backdrop-filter: none !important; 4194 -webkit-backdrop-filter: none !important; 4195 box-shadow: none !important; 4196 } 4197 4198 #carousel-full-6ab5374f50913.dy-fullscreen .dy-fullscreen-toggle-btn:hover, 4199 #carousel-full-6ab5374f50913:fullscreen .dy-fullscreen-toggle-btn:hover { 4200 background: transparent !important; 4201 color: #ffffff !important; 4202 transform: scale(1.2) !important; 4203 } 4204 4205 #carousel-full-6ab5374f50913 { 4206 margin-left: 0 !important; 4207 margin-right: 0 !important; 4208 padding: 0 !important; 4209 left: 0 !important; 4210 width: 100% !important; 4211 border-radius: 15px !important; 4212 overflow: hidden !important; 4213 /* Fix for backdrop-filter clipping bug */ 4214 -webkit-mask-image: -webkit-radial-gradient(white, black); 4215 isolation: isolate; 4216 } 4217 4218 #carousel-full-6ab5374f50913.dy-carousel-layout-split, 4219 #carousel-full-6ab5374f50913.dy-carousel-col-list { 4220 padding: 0 !important; 4221 margin: 0 !important; 4222 } 4223 4224 #carousel-full-6ab5374f50913 .on-air { 4225 background: none !important; 4226 color: #d60000; 4227 padding: 0 !important; 4228 font-size: 9px; 4229 font-weight: 800; 4230 text-transform: uppercase; 4231 letter-spacing: 1px; 4232 z-index: 10; 4233 display: none; 4234 width: fit-content; 4235 margin-bottom: 5px; 4236 animation: dyBlink 1.5s infinite; 4237 } 4238 4239 #carousel-full-6ab5374f50913 .dy-station-card.dy-card-active .on-air { 4240 display: block; 4241 } 4242 4243 #carousel-full-6ab5374f50913.dy-row-logo-wrap, 4244 #carousel-full-6ab5374f50913.radio-logo-layer, 4245 #carousel-full-6ab5374f50913.radio-cover { 4246 border-radius: 7px !important; 4247 /* Safari/Chrome clipping fix */ 4248 -webkit-mask-image: -webkit-radial-gradient(white, black); 4249 } 4250 4251 @keyframes dyBlink { 4252 4253 0%, 4254 100% { 4255 opacity: 1;
4256 } 4257 4258 50% { 4259 opacity: 0.4; 4260 } 4261 } 4262 </style> 4263 <div class="dy-carousel-container dy-carousel-full dy-carousel-vertical-gsap dy-renault-style" 4264 id="carousel-full-6ab5374f50913" 4265 style="height: 800px; position: relative; overflow: hidden; perspective: 2000px; perspective-origin: 0% 50%; background: #000; cursor: grab; border-radius: 15px; transform: translateZ(0);" 4266 data-count="23" 4267 data-visible="5" 4268 data-glass-color-opacity="0.02" 4269 data-active-play-scale="1.2" 4270 data-split-enable="1" 4271 data-split-keywords="Feat., Featuring., with, ft." 4272 data-truncate-artist="25" 4273 data-truncate-title="30"> 4274 4275 <!-- Cross-fading background layers --> 4276 <div class="dy-full-bg-layers" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; border-radius: inherit; overflow: hidden;"> 4277 <div class="dy-bg-layer dy-bg-layer-1" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; transition: opacity 1s ease; opacity: 1; pointer-events: none;"></div> 4278 <div class="dy-bg-layer dy-bg-layer-2" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; transition: opacity 1s ease; opacity: 0; pointer-events: none;"></div> 4279 <div class="dy-dark-glass-base" style="position: absolute; top: 0; left: 0; width: 45%; height: 100%; background: rgba(0,0,0,0.3); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); z-index: 2; pointer-events: none; border-radius: 15px 0 0 15px;"></div> 4280 <div class="dy-dark-glass-overlay" style="position: absolute; top: 0; left: 0; width: 45%; height: 100%; background: transparent; z-index: 2; pointer-events: none; border-radius: 15px 0 0 15px; transition: background-color 1s ease;"></div> 4281 <div class="dy-radial-gradient-overlay" style="position: absolute; inset: 0; background: radial-gradient(circle at 60% 30%, transparent 10%, rgba(0,0,0,1) 100%); z-index: 2; pointer-events: none; border-radius: inherit;"></div> 4282 </div> 4283 4284 <img decoding="async" id="dy-carousel-top-logo" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" style="position: absolute; top: 30px; right: 30px; width: 100px; height: 100px; border-radius: 0px; object-fit: contain; z-index: 10; transition: opacity 0.3s ease; opacity: 0.8; pointer-events: none;" alt=""> 4285 4286 <div class="dy-carousel-layout-split" style="position: relative; z-index: 3; width: 100%; height: 100%; display: flex; pointer-events: none; padding: 0 !important; margin: 0 !important; padding-left: 8% !important;"> 4287 <div class="dy-carousel-col-list" style="flex: 0 0 550px; position: relative; height: 100%; pointer-events: none; padding: 0 !important;"> 4288 <div class="dy-carousel-vertical-track" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform-style: preserve-3d; will-change: transform; z-index: 2; pointer-events: none; padding: 0 !important;"> 4289 <div class="dy-station-card dy-renault-row" 4290 data-index="0" 4291 data-json-key="crooner" 4292 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" 4293 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_dab_background-copie-2026.webp" 4294 data-color="#707070" 4295 data-opacity-side="0.05" 4296 data-scale-reduction="0.05" 4297 data-depth-intensity="0.2" 4298 data-blur-amount="0.2" 4299 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4300 4301 4302 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4303 4304 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4305 <button class="dy-card-play-btn dy-play-btn" 4306 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4307 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4308 </button> 4309 </div> 4310 4311 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4312 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" class="radio-logo-layer" alt="Crooner Radio" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4313 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4314 </div> 4315 4316 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4317 <div class="on-air">ON AIR</div> 4318 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700;
4318 color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Crooner Radio</div> 4319 <div class="dy-card-artist dy-station-artist-0" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4320 <div class="dy-card-subtitle dy-station-title-0" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4321 </div> 4322 </div> 4323 </div> 4324 <div class="dy-station-card dy-renault-row" 4325 data-index="1" 4326 data-json-key="crooner_american" 4327 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-AMERICAN.jpg" 4328 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_american_rat_pack_background_v2-2026.webp" 4329 data-color="#30448d" 4330 data-opacity-side="0.05" 4331 data-scale-reduction="0.05" 4332 data-depth-intensity="0.2" 4333 data-blur-amount="0.2" 4334 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4335 4336 4337 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4338 4339 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4340 <button class="dy-card-play-btn dy-play-btn" 4341 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4342 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4343 </button> 4344 </div> 4345 4346 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4347 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-AMERICAN.jpg" class="radio-logo-layer" alt="Crooner Radio American" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4348 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-AMERICAN.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4349 </div> 4350 4351 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4352 <div class="on-air">ON AIR</div> 4353 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700; color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">American</div> 4354 <div class="dy-card-artist dy-station-artist-1" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4355 <div class="dy-card-subtitle dy-station-title-1" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4356 </div> 4357 </div> 4358 </div> 4359 <div class="dy-station-card dy-renault-row" 4360 data-index="2" 4361 data-json-key="crooner_b_streisand" 4362 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-BARBRA-STREISAND.jpg" 4363 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_barbra_streisand_background-copie.webp" 4364 data-color="#a1045b" 4365 data-opacity-side="0.05" 4366 data-scale-reduction="0.05" 4367 data-depth-intensity="0.2" 4368 data-blur-amount="0.2" 4369 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4370 4371 4372 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4373 4374 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4375 <button class="dy-card-play-btn dy-play-btn" 4376 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4377 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4378 </button> 4379 </div> 4380 4381 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4382 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-BARBRA-STREISAND.jpg" class="radio-logo-layer" alt="Crooner Radio Barbra Streisand" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4383 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-BARBRA-STREISAND.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4384 </div> 4385 4386 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4387 <div class="on-air">ON AIR</div> 4388 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700;
4388 color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Barbra Streisand</div> 4389 <div class="dy-card-artist dy-station-artist-2" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4390 <div class="dy-card-subtitle dy-station-title-2" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4391 </div> 4392 </div> 4393 </div> 4394 <div class="dy-station-card dy-renault-row" 4395 data-index="3" 4396 data-json-key="crooner_c_dion" 4397 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CELINE-DION.jpg" 4398 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_celine_dion_background_v2-copie.webp" 4399 data-color="#740293" 4400 data-opacity-side="0.05" 4401 data-scale-reduction="0.05" 4402 data-depth-intensity="0.2" 4403 data-blur-amount="0.2" 4404 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4405 4406 4407 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4408 4409 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4410 <button class="dy-card-play-btn dy-play-btn" 4411 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4412 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4413 </button> 4414 </div> 4415 4416 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4417 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CELINE-DION.jpg" class="radio-logo-layer" alt="Crooner Radio Céline Dion" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4418 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CELINE-DION.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4419 </div> 4420 4421 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4422 <div class="on-air">ON AIR</div> 4423 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700; color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Céline Dion</div> 4424 <div class="dy-card-artist dy-station-artist-3" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4425 <div class="dy-card-subtitle dy-station-title-3" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4426 </div> 4427 </div> 4428 </div> 4429 <div class="dy-station-card dy-renault-row" 4430 data-index="4" 4431 data-json-key="crooner_classicgold" 4432 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CLASSIC-GOLD.jpg" 4433 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_classic_gold_background.webp" 4434 data-color="#b87b1e" 4435 data-opacity-side="0.05" 4436 data-scale-reduction="0.05" 4437 data-depth-intensity="0.2" 4438 data-blur-amount="0.2" 4439 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4440 4441 4442 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4443 4444 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4445 <button class="dy-card-play-btn dy-play-btn" 4446 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4447 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4448 </button> 4449 </div> 4450 4451 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4452 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CLASSIC-GOLD.jpg" class="radio-logo-layer" alt="Crooner Radio Classic Gold" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4453 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CLASSIC-GOLD.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4454 </div> 4455 4456 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4457 <div class="on-air">ON AIR</div> 4458 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700;
4458 color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Classic Gold</div> 4459 <div class="dy-card-artist dy-station-artist-4" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4460 <div class="dy-card-subtitle dy-station-title-4" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4461 </div> 4462 </div> 4463 </div> 4464 <div class="dy-station-card dy-renault-row" 4465 data-index="5" 4466 data-json-key="crooner_deanmartin" 4467 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-DEAN-MARTIN.jpg" 4468 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_dean_martin_background.webp" 4469 data-color="#237957" 4470 data-opacity-side="0.05" 4471 data-scale-reduction="0.05" 4472 data-depth-intensity="0.2" 4473 data-blur-amount="0.2" 4474 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4475 4476 4477 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4478 4479 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4480 <button class="dy-card-play-btn dy-play-btn" 4481 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4482 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4483 </button> 4484 </div> 4485 4486 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4487 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-DEAN-MARTIN.jpg" class="radio-logo-layer" alt="Crooner Radio Dean Martin" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4488 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-DEAN-MARTIN.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4489 </div> 4490 4491 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4492 <div class="on-air">ON AIR</div> 4493 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700; color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Dean Martin</div> 4494 <div class="dy-card-artist dy-station-artist-5" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4495 <div class="dy-card-subtitle dy-station-title-5" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4496 </div> 4497 </div> 4498 </div> 4499 <div class="dy-station-card dy-renault-row" 4500 data-index="6" 4501 data-json-key="crooner_elvispresley" 4502 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ELVIS-PRESLEY.jpg" 4503 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_elvis_presley_background-copie.webp" 4504 data-color="#9b0000" 4505 data-opacity-side="0.05" 4506 data-scale-reduction="0.05" 4507 data-depth-intensity="0.2" 4508 data-blur-amount="0.2" 4509 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4510 4511 4512 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4513 4514 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4515 <button class="dy-card-play-btn dy-play-btn" 4516 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4517 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4518 </button> 4519 </div> 4520 4521 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4522 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ELVIS-PRESLEY.jpg" class="radio-logo-layer" alt="Crooner Radio Elvis Presley" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4523 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ELVIS-PRESLEY.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4524 </div> 4525 4526 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4527 <div class="on-air">ON AIR</div> 4528 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700;
4528 color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Elvis Presley</div> 4529 <div class="dy-card-artist dy-station-artist-6" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4530 <div class="dy-card-subtitle dy-station-title-6" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4531 </div> 4532 </div> 4533 </div> 4534 <div class="dy-station-card dy-renault-row" 4535 data-index="7" 4536 data-json-key="crooner_franksinatra" 4537 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRANK-SINATRA.jpg" 4538 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_frank_sinatra_background.webp" 4539 data-color="#1f1c8d" 4540 data-opacity-side="0.05" 4541 data-scale-reduction="0.05" 4542 data-depth-intensity="0.2" 4543 data-blur-amount="0.2" 4544 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4545 4546 4547 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4548 4549 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4550 <button class="dy-card-play-btn dy-play-btn" 4551 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4552 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4553 </button> 4554 </div> 4555 4556 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4557 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRANK-SINATRA.jpg" class="radio-logo-layer" alt="Crooner Radio Frank Sinatra" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4558 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRANK-SINATRA.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4559 </div> 4560 4561 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4562 <div class="on-air">ON AIR</div> 4563 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700; color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Frank Sinatra</div> 4564 <div class="dy-card-artist dy-station-artist-7" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4565 <div class="dy-card-subtitle dy-station-title-7" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4566 </div> 4567 </div> 4568 </div> 4569 <div class="dy-station-card dy-renault-row" 4570 data-index="8" 4571 data-json-key="crooner_frenchy" 4572 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRENCHY.jpg" 4573 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_frenchy_background.webp" 4574 data-color="#3747a4" 4575 data-opacity-side="0.05" 4576 data-scale-reduction="0.05" 4577 data-depth-intensity="0.2" 4578 data-blur-amount="0.2" 4579 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4580 4581 4582 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4583 4584 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4585 <button class="dy-card-play-btn dy-play-btn" 4586 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4587 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4588 </button> 4589 </div> 4590 4591 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4592 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRENCHY.jpg" class="radio-logo-layer" alt="Crooner Radio Frenchy" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4593 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRENCHY.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4594 </div> 4595 4596 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4597 <div class="on-air">ON AIR</div> 4598 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700;
4598 color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Frenchy</div> 4599 <div class="dy-card-artist dy-station-artist-8" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4600 <div class="dy-card-subtitle dy-station-title-8" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4601 </div> 4602 </div> 4603 </div> 4604 <div class="dy-station-card dy-renault-row" 4605 data-index="9" 4606 data-json-key="crooner_gd" 4607 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-GENTLEMEN-DRIVERS.jpg" 4608 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_barry_white_gentlemen_drivers_background.webp" 4609 data-color="#a05a00" 4610 data-opacity-side="0.05" 4611 data-scale-reduction="0.05" 4612 data-depth-intensity="0.2" 4613 data-blur-amount="0.2" 4614 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4615 4616 4617 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4618 4619 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4620 <button class="dy-card-play-btn dy-play-btn" 4621 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4622 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4623 </button> 4624 </div> 4625 4626 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4627 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-GENTLEMEN-DRIVERS.jpg" class="radio-logo-layer" alt="Crooner Radio Gentlemen Drivers" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4628 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-GENTLEMEN-DRIVERS.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4629 </div> 4630 4631 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4632 <div class="on-air">ON AIR</div> 4633 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700; color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Gentlemen Drivers</div> 4634 <div class="dy-card-artist dy-station-artist-9" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4635 <div class="dy-card-subtitle dy-station-title-9" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4636 </div> 4637 </div> 4638 </div> 4639 <div class="dy-station-card dy-renault-row" 4640 data-index="10" 4641 data-json-key="crooner_italiano" 4642 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ITALIANO.jpg" 4643 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_italiano_luis_prima_background.webp" 4644 data-color="#2d732b" 4645 data-opacity-side="0.05" 4646 data-scale-reduction="0.05" 4647 data-depth-intensity="0.2" 4648 data-blur-amount="0.2" 4649 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4650 4651 4652 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4653 4654 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4655 <button class="dy-card-play-btn dy-play-btn" 4656 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4657 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4658 </button> 4659 </div> 4660 4661 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4662 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ITALIANO.jpg" class="radio-logo-layer" alt="Crooner Radio Italiano" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4663 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ITALIANO.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4664 </div> 4665 4666 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4667 <div class="on-air">ON AIR</div> 4668 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700;
4668 color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Italiano</div> 4669 <div class="dy-card-artist dy-station-artist-10" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4670 <div class="dy-card-subtitle dy-station-title-10" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4671 </div> 4672 </div> 4673 </div> 4674 <div class="dy-station-card dy-renault-row" 4675 data-index="11" 4676 data-json-key="crooner_j_iglesias" 4677 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-JULIO-IGLESIAS.jpg" 4678 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_julio_iglesias_background_v2.webp" 4679 data-color="#ad2e00" 4680 data-opacity-side="0.05" 4681 data-scale-reduction="0.05" 4682 data-depth-intensity="0.2" 4683 data-blur-amount="0.2" 4684 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4685 4686 4687 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4688 4689 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4690 <button class="dy-card-play-btn dy-play-btn" 4691 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4692 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4693 </button> 4694 </div> 4695 4696 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4697 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-JULIO-IGLESIAS.jpg" class="radio-logo-layer" alt="Crooner Radio Julio Iglesias" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4698 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-JULIO-IGLESIAS.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4699 </div> 4700 4701 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4702 <div class="on-air">ON AIR</div> 4703 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700; color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Julio Iglesias</div> 4704 <div class="dy-card-artist dy-station-artist-11" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4705 <div class="dy-card-subtitle dy-station-title-11" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4706 </div> 4707 </div> 4708 </div> 4709 <div class="dy-station-card dy-renault-row" 4710 data-index="12" 4711 data-json-key="crooner_legends" 4712 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LEGENDS.jpg" 4713 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_legend_billie_holiday_background.webp" 4714 data-color="#b76800" 4715 data-opacity-side="0.05" 4716 data-scale-reduction="0.05" 4717 data-depth-intensity="0.2" 4718 data-blur-amount="0.2" 4719 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4720 4721 4722 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4723 4724 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4725 <button class="dy-card-play-btn dy-play-btn" 4726 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4727 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4728 </button> 4729 </div> 4730 4731 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4732 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LEGENDS.jpg" class="radio-logo-layer" alt="Crooner Radio Legends" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4733 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LEGENDS.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4734 </div> 4735 4736 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4737 <div class="on-air">ON AIR</div> 4738 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700;
4738 color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Legends</div> 4739 <div class="dy-card-artist dy-station-artist-12" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4740 <div class="dy-card-subtitle dy-station-title-12" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4741 </div> 4742 </div> 4743 </div> 4744 <div class="dy-station-card dy-renault-row" 4745 data-index="13" 4746 data-json-key="crooner_lounge" 4747 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOUNGE.jpg" 4748 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_lounge_background_v2026.webp" 4749 data-color="#2d54a9" 4750 data-opacity-side="0.05" 4751 data-scale-reduction="0.05" 4752 data-depth-intensity="0.2" 4753 data-blur-amount="0.2" 4754 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4755 4756 4757 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4758 4759 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4760 <button class="dy-card-play-btn dy-play-btn" 4761 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4762 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4763 </button> 4764 </div> 4765 4766 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4767 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOUNGE.jpg" class="radio-logo-layer" alt="Crooner Radio Lounge" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4768 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOUNGE.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4769 </div> 4770 4771 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4772 <div class="on-air">ON AIR</div> 4773 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700; color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Lounge</div> 4774 <div class="dy-card-artist dy-station-artist-13" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4775 <div class="dy-card-subtitle dy-station-title-13" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4776 </div> 4777 </div> 4778 </div> 4779 <div class="dy-station-card dy-renault-row" 4780 data-index="14" 4781 data-json-key="crooner_love" 4782 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOVE.jpg" 4783 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_love_background_v2_2026.webp" 4784 data-color="#7d2783" 4785 data-opacity-side="0.05" 4786 data-scale-reduction="0.05" 4787 data-depth-intensity="0.2" 4788 data-blur-amount="0.2" 4789 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4790 4791 4792 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4793 4794 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4795 <button class="dy-card-play-btn dy-play-btn" 4796 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4797 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4798 </button> 4799 </div> 4800 4801 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4802 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOVE.jpg" class="radio-logo-layer" alt="Crooner Radio Love" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4803 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOVE.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4804 </div> 4805 4806 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4807 <div class="on-air">ON AIR</div> 4808 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700;
4808 color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Love</div> 4809 <div class="dy-card-artist dy-station-artist-14" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4810 <div class="dy-card-subtitle dy-station-title-14" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4811 </div> 4812 </div> 4813 </div> 4814 <div class="dy-station-card dy-renault-row" 4815 data-index="15" 4816 data-json-key="crooner_michaelbuble" 4817 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MICHAEL-BUBLE.jpg" 4818 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_michael_buble_background.webp" 4819 data-color="#247266" 4820 data-opacity-side="0.05" 4821 data-scale-reduction="0.05" 4822 data-depth-intensity="0.2" 4823 data-blur-amount="0.2" 4824 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4825 4826 4827 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4828 4829 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4830 <button class="dy-card-play-btn dy-play-btn" 4831 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4832 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4833 </button> 4834 </div> 4835 4836 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4837 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MICHAEL-BUBLE.jpg" class="radio-logo-layer" alt="Crooner Radio Michael Bublé" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4838 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MICHAEL-BUBLE.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4839 </div> 4840 4841 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4842 <div class="on-air">ON AIR</div> 4843 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700; color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Michael Bublé</div> 4844 <div class="dy-card-artist dy-station-artist-15" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4845 <div class="dy-card-subtitle dy-station-title-15" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4846 </div> 4847 </div> 4848 </div> 4849 <div class="dy-station-card dy-renault-row" 4850 data-index="16" 4851 data-json-key="crooner_movies" 4852 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MOVIES.jpg" 4853 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_lalo_schifrin_movies_background-copie.webp" 4854 data-color="#bb7b2a" 4855 data-opacity-side="0.05" 4856 data-scale-reduction="0.05" 4857 data-depth-intensity="0.2" 4858 data-blur-amount="0.2" 4859 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4860 4861 4862 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4863 4864 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4865 <button class="dy-card-play-btn dy-play-btn" 4866 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4867 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4868 </button> 4869 </div> 4870 4871 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4872 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MOVIES.jpg" class="radio-logo-layer" alt="Crooner Radio Movies" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4873 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MOVIES.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4874 </div> 4875 4876 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4877 <div class="on-air">ON AIR</div> 4878 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700;
4878 color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Movies</div> 4879 <div class="dy-card-artist dy-station-artist-16" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4880 <div class="dy-card-subtitle dy-station-title-16" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4881 </div> 4882 </div> 4883 </div> 4884 <div class="dy-station-card dy-renault-row" 4885 data-index="17" 4886 data-json-key="crooner_premium" 4887 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-PREMIUM.jpg" 4888 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_premium_nat_king_cole_background-copie.webp" 4889 data-color="#9a6d56" 4890 data-opacity-side="0.05" 4891 data-scale-reduction="0.05" 4892 data-depth-intensity="0.2" 4893 data-blur-amount="0.2" 4894 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4895 4896 4897 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4898 4899 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4900 <button class="dy-card-play-btn dy-play-btn" 4901 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4902 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4903 </button> 4904 </div> 4905 4906 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4907 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-PREMIUM.jpg" class="radio-logo-layer" alt="Crooner Radio Premium" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4908 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-PREMIUM.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4909 </div> 4910 4911 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4912 <div class="on-air">ON AIR</div> 4913 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700; color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Premium</div> 4914 <div class="dy-card-artist dy-station-artist-17" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4915 <div class="dy-card-subtitle dy-station-title-17" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4916 </div> 4917 </div> 4918 </div> 4919 <div class="dy-station-card dy-renault-row" 4920 data-index="18" 4921 data-json-key="crooner_swing" 4922 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SWING.jpg" 4923 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_swing_background-copie2.webp" 4924 data-color="#53298e" 4925 data-opacity-side="0.05" 4926 data-scale-reduction="0.05" 4927 data-depth-intensity="0.2" 4928 data-blur-amount="0.2" 4929 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4930 4931 4932 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4933 4934 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4935 <button class="dy-card-play-btn dy-play-btn" 4936 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4937 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4938 </button> 4939 </div> 4940 4941 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4942 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SWING.jpg" class="radio-logo-layer" alt="Crooner Radio Swing" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4943 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SWING.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4944 </div> 4945 4946 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4947 <div class="on-air">ON AIR</div> 4948 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700;
4948 color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Swing</div> 4949 <div class="dy-card-artist dy-station-artist-18" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4950 <div class="dy-card-subtitle dy-station-title-18" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4951 </div> 4952 </div> 4953 </div> 4954 <div class="dy-station-card dy-renault-row" 4955 data-index="19" 4956 data-json-key="crooner_summer" 4957 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SUMMER.jpg" 4958 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_summer_background_v2-copie.webp" 4959 data-color="#c33753" 4960 data-opacity-side="0.05" 4961 data-scale-reduction="0.05" 4962 data-depth-intensity="0.2" 4963 data-blur-amount="0.2" 4964 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 4965 4966 4967 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 4968 4969 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 4970 <button class="dy-card-play-btn dy-play-btn" 4971 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 4972 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 4973 </button> 4974 </div> 4975 4976 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 4977 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SUMMER.jpg" class="radio-logo-layer" alt="Crooner Radio Summer" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 4978 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SUMMER.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 4979 </div> 4980 4981 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 4982 <div class="on-air">ON AIR</div> 4983 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700; color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Summer</div> 4984 <div class="dy-card-artist dy-station-artist-19" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 4985 <div class="dy-card-subtitle dy-station-title-19" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 4986 </div> 4987 </div> 4988 </div> 4989 <div class="dy-station-card dy-renault-row" 4990 data-index="20" 4991 data-json-key="crooner_zen" 4992 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ZEN.jpg" 4993 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_zen_background.webp" 4994 data-color="#307836" 4995 data-opacity-side="0.05" 4996 data-scale-reduction="0.05" 4997 data-depth-intensity="0.2" 4998 data-blur-amount="0.2" 4999 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 5000 5001 5002 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 5003 5004 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 5005 <button class="dy-card-play-btn dy-play-btn" 5006 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 5007 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 5008 </button> 5009 </div> 5010 5011 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 5012 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ZEN.jpg" class="radio-logo-layer" alt="Crooner Radio Zen" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 5013 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ZEN.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 5014 </div> 5015 5016 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 5017 <div class="on-air">ON AIR</div> 5018 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700;
5018 color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Zen</div> 5019 <div class="dy-card-artist dy-station-artist-20" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 5020 <div class="dy-card-subtitle dy-station-title-20" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 5021 </div> 5022 </div> 5023 </div> 5024 <div class="dy-station-card dy-renault-row" 5025 data-index="21" 5026 data-json-key="crooner_christmas" 5027 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS.jpg" 5028 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_christmas_background.webp" 5029 data-color="#b40000" 5030 data-opacity-side="0.05" 5031 data-scale-reduction="0.05" 5032 data-depth-intensity="0.2" 5033 data-blur-amount="0.2" 5034 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 5035 5036 5037 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 5038 5039 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 5040 <button class="dy-card-play-btn dy-play-btn" 5041 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 5042 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 5043 </button> 5044 </div> 5045 5046 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 5047 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS.jpg" class="radio-logo-layer" alt="Crooner Radio Christmas" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 5048 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 5049 </div> 5050 5051 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 5052 <div class="on-air">ON AIR</div> 5053 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700; color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Christmas</div> 5054 <div class="dy-card-artist dy-station-artist-21" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 5055 <div class="dy-card-subtitle dy-station-title-21" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 5056 </div> 5057 </div> 5058 </div> 5059 <div class="dy-station-card dy-renault-row" 5060 data-index="22" 5061 data-json-key="crooner_christmasold" 5062 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS-VINTAGE.jpg" 5063 data-bg="https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_christmas_vintage_background-v2.webp" 5064 data-color="#7a0000" 5065 data-opacity-side="0.05" 5066 data-scale-reduction="0.05" 5067 data-depth-intensity="0.2" 5068 data-blur-amount="0.2" 5069 style="position: absolute; top: 0; left: 0; width: 100%; height: 150px; pointer-events: auto; backface-visibility: hidden; border-radius: 15px; cursor: pointer;"> 5070 5071 5072 <div class="dy-row-content" style="display: flex; align-items: center; width: 100%; height: 100%; padding: 0 25px; background: transparent; border: none !important; border-radius: inherit; box-sizing: border-box;"> 5073 5074 <div class="dy-row-action" style="flex: 0 0 auto; margin-right: 20px;"> 5075 <button class="dy-card-play-btn dy-play-btn" 5076 style="width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: auto; padding: 0; cursor: pointer;"> 5077 <i class="dy-play-icon fas fa-play" style="margin-left: 3px;"></i> 5078 </button> 5079 </div> 5080 5081 <div class="dy-row-logo-wrap" style="flex: 0 0 120px; height: 120px; margin-right: 20px; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-radius: 7px; transition: transform 0.3s ease, border-radius 0.3s ease;"> 5082 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS-VINTAGE.jpg" class="radio-logo-layer" alt="Crooner Radio Christmas Vintage" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease;"> 5083 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS-VINTAGE.jpg" class="radio-cover" alt="Cover" style="position: absolute; top: 0; left: 0; width:100%; height:100%; object-fit: cover; transition: opacity 0.8s ease; opacity: 0;"> 5084 </div> 5085 5086 <div class="dy-row-info" style="flex: 1; text-align: left; overflow: hidden; pointer-events: none;"> 5087 <div class="on-air">ON AIR</div> 5088 <div class="dy-card-title dy-station-name" style="font-size: 9px; font-family: 'Inter', sans-serif; font-weight: 700;
5088 color: #e0e0e0; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.1 !important;">Christmas Vintage</div> 5089 <div class="dy-card-artist dy-station-artist-22" style="font-size: 18px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; margin-bottom: 4px !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Chargement...</div> 5090 <div class="dy-card-subtitle dy-station-title-22" style="font-size: 13px; font-family: 'Inter', sans-serif; font-weight: 400; color: #ffffff; margin: 0 !important; line-height: 1.2 !important; white-space: normal; word-break: break-word;">Veuillez patienter...</div> 5091 </div> 5092 </div> 5093 </div> 5094 </div> 5095 </div> 5096 <div class="dy-carousel-col-visual" style="flex: 1; height: 100%; pointer-events: none; position: relative; overflow: hidden;"> 5097 <!-- History Side Panel --> 5098 <div class="dy-carousel-history-panel" style="position: absolute; left: 0; top: 0; height: 100%; width: 400px; max-width: 100%; background: rgba(0,0,0,0.85); backdrop-filter: blur(30px); -webkit-backdrop-filter: blur(30px); border-right: 1px solid rgba(255,255,255,0.05); z-index: 50; padding: 40px 25px; box-sizing: border-box; transform: translateX(-100%); transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); overflow-y: auto; pointer-events: auto;"> 5099 <div class="dy-history-close-btn" style="position: absolute; top: 20px; right: 20px; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.1); display: flex; justify-content: center; align-items: center; color: #fff; font-size: 16px; cursor: pointer; transition: background 0.3s ease;" onclick="this.closest('.dy-carousel-container').classList.remove('dy-show-history')" onmouseover="this.style.background='rgba(255,255,255,0.2)'" onmouseout="this.style.background='rgba(255,255,255,0.1)'"> 5100 <i class="fas fa-times"></i> 5101 </div> 5102 5103 <div class="dy-history-panel-header" style="margin-top: 10px; margin-bottom: 25px; padding-right: 35px;"> 5104 <h3 style="margin: 0; text-align: left; color: #ffffff; font-size: 18 px; font-weight: 400; letter-spacing: 0.5px;">Titres précédents diffusés</h3> 5105 </div> 5106 5107 <div> 5108 <div id="dy-lastplay-6ab5374f51487" class="dy-lastplay-container" 5109 style="--dy-text-color: #ffffff;--dy-title-color: #fafafa;--dy-font-size: 14px;--dy-select-bg: rgba(255,255,255,0.05);--dy-select-text: #ffffff;--dy-more-bg: #f0f0f0;--dy-more-color: #333333;" 5110 data-count="7" 5111 data-refresh="30" 5112 data-show-cover="1" 5113 data-default-cover="" 5114 data-exclude='["Crooner Radio","VIRGULE","Crooner Radio"]'> 5115 5116 5117 <div class="dy-lastplay-selector-wrap"> 5118 <div class="dy-custom-select" id="dy-lastplay-6ab5374f51487-select"> 5119 <div class="dy-select-trigger"> 5120 <span class="dy-selected-text">Sélectionnez une station</span> 5121 <i class="fas fa-chevron-down"></i> 5122 </div> 5123 <div class="dy-select-options"> 5124 <div class="dy-select-option selected" 5125 data-value="crooner" 5126 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg"> 5127 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="logo" class="dy-station-logo-mini"> 5128 <span>Crooner Radio</span> 5129 </div> 5130 <div class="dy-select-option " 5131 data-value="crooner_american" 5132 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-AMERICAN.jpg"> 5133 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-AMERICAN.jpg" alt="logo" class="dy-station-logo-mini">
5134 <span>Crooner Radio American</span> 5135 </div> 5136 <div class="dy-select-option " 5137 data-value="crooner_b_streisand" 5138 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-BARBRA-STREISAND.jpg"> 5139 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-BARBRA-STREISAND.jpg" alt="logo" class="dy-station-logo-mini"> 5140 <span>Crooner Radio Barbra Streisand</span> 5141 </div> 5142 <div class="dy-select-option " 5143 data-value="crooner_c_dion" 5144 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CELINE-DION.jpg"> 5145 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CELINE-DION.jpg" alt="logo" class="dy-station-logo-mini"> 5146 <span>Crooner Radio Céline Dion</span> 5147 </div> 5148 <div class="dy-select-option " 5149 data-value="crooner_classicgold" 5150 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CLASSIC-GOLD.jpg"> 5151 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CLASSIC-GOLD.jpg" alt="logo" class="dy-station-logo-mini"> 5152 <span>Crooner Radio Classic Gold</span> 5153 </div> 5154 <div class="dy-select-option " 5155 data-value="crooner_deanmartin" 5156 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-DEAN-MARTIN.jpg"> 5157 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-DEAN-MARTIN.jpg" alt="logo" class="dy-station-logo-mini"> 5158 <span>Crooner Radio Dean Martin</span> 5159 </div> 5160 <div class="dy-select-option " 5161 data-value="crooner_elvispresley" 5162 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ELVIS-PRESLEY.jpg"> 5163 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ELVIS-PRESLEY.jpg" alt="logo" class="dy-station-logo-mini"> 5164 <span>Crooner Radio Elvis Presley</span> 5165 </div> 5166 <div class="dy-select-option " 5167 data-value="crooner_franksinatra" 5168 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRANK-SINATRA.jpg"> 5169 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRANK-SINATRA.jpg" alt="logo" class="dy-station-logo-mini"> 5170 <span>Crooner Radio Frank Sinatra</span> 5171 </div> 5172 <div class="dy-select-option " 5173 data-value="crooner_frenchy" 5174 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRENCHY.jpg"> 5175 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRENCHY.jpg" alt="logo" class="dy-station-logo-mini"> 5176 <span>Crooner Radio Frenchy</span> 5177 </div> 5178 <div class="dy-select-option " 5179 data-value="crooner_gd" 5180 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-GENTLEMEN-DRIVERS.jpg"> 5181 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-GENTLEMEN-DRIVERS.jpg" alt="logo" class="dy-station-logo-mini">
5182 <span>Crooner Radio Gentlemen Drivers</span> 5183 </div> 5184 <div class="dy-select-option " 5185 data-value="crooner_italiano" 5186 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ITALIANO.jpg"> 5187 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ITALIANO.jpg" alt="logo" class="dy-station-logo-mini"> 5188 <span>Crooner Radio Italiano</span> 5189 </div> 5190 <div class="dy-select-option " 5191 data-value="crooner_j_iglesias" 5192 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-JULIO-IGLESIAS.jpg"> 5193 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-JULIO-IGLESIAS.jpg" alt="logo" class="dy-station-logo-mini"> 5194 <span>Crooner Radio Julio Iglesias</span> 5195 </div> 5196 <div class="dy-select-option " 5197 data-value="crooner_legends" 5198 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LEGENDS.jpg"> 5199 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LEGENDS.jpg" alt="logo" class="dy-station-logo-mini"> 5200 <span>Crooner Radio Legends</span> 5201 </div> 5202 <div class="dy-select-option " 5203 data-value="crooner_lounge" 5204 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOUNGE.jpg"> 5205 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOUNGE.jpg" alt="logo" class="dy-station-logo-mini"> 5206 <span>Crooner Radio Lounge</span> 5207 </div> 5208 <div class="dy-select-option " 5209 data-value="crooner_love" 5210 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOVE.jpg"> 5211 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOVE.jpg" alt="logo" class="dy-station-logo-mini"> 5212 <span>Crooner Radio Love</span> 5213 </div> 5214 <div class="dy-select-option " 5215 data-value="crooner_michaelbuble" 5216 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MICHAEL-BUBLE.jpg"> 5217 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MICHAEL-BUBLE.jpg" alt="logo" class="dy-station-logo-mini"> 5218 <span>Crooner Radio Michael Bublé</span> 5219 </div> 5220 <div class="dy-select-option " 5221 data-value="crooner_movies" 5222 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MOVIES.jpg"> 5223 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MOVIES.jpg" alt="logo" class="dy-station-logo-mini"> 5224 <span>Crooner Radio Movies</span> 5225 </div> 5226 <div class="dy-select-option " 5227 data-value="crooner_premium" 5228 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-PREMIUM.jpg"> 5229 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-PREMIUM.jpg" alt="logo" class="dy-station-logo-mini">
5230 <span>Crooner Radio Premium</span> 5231 </div> 5232 <div class="dy-select-option " 5233 data-value="crooner_swing" 5234 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SWING.jpg"> 5235 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SWING.jpg" alt="logo" class="dy-station-logo-mini"> 5236 <span>Crooner Radio Swing</span> 5237 </div> 5238 <div class="dy-select-option " 5239 data-value="crooner_summer" 5240 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SUMMER.jpg"> 5241 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SUMMER.jpg" alt="logo" class="dy-station-logo-mini"> 5242 <span>Crooner Radio Summer</span> 5243 </div> 5244 <div class="dy-select-option " 5245 data-value="crooner_zen" 5246 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ZEN.jpg"> 5247 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ZEN.jpg" alt="logo" class="dy-station-logo-mini"> 5248 <span>Crooner Radio Zen</span> 5249 </div> 5250 <div class="dy-select-option " 5251 data-value="crooner_christmas" 5252 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS.jpg"> 5253 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS.jpg" alt="logo" class="dy-station-logo-mini"> 5254 <span>Crooner Radio Christmas</span> 5255 </div> 5256 <div class="dy-select-option " 5257 data-value="crooner_christmasold" 5258 data-logo="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS-VINTAGE.jpg"> 5259 <img decoding="async" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS-VINTAGE.jpg" alt="logo" class="dy-station-logo-mini"> 5260 <span>Crooner Radio Christmas Vintage</span> 5261 </div> 5262 </div> 5263 <input type="hidden" class="dy-lastplay-station-select" value="crooner"> 5264 </div> 5265 </div> 5266 5267 <div class="dy-lastplay-list"> 5268 <div class="dy-lastplay-loading">Chargement de l'historique...</div> 5269 </div> 5270 5271 <div class="dy-lastplay-more-wrap"> 5272 <button type="button" class="dy-lastplay-more-btn" data-step="5"> 5273 Voir plus de morceaux </button> 5274 </div> 5275 </div> 5276 5277 <style> 5278 :root { 5279 --dy-title-color: #a08053; 5280 --dy-text-color: inherit; 5281 --dy-font-size: 14px; 5282 --dy-select-bg: #333333; 5283 --dy-select-text: #ffffff; 5284 --dy-more-bg: rgba(0, 0, 0, 0.05); 5285 --dy-more-color: #333333; 5286 } 5287 5288 .dy-lastplay-container { 5289 margin: 20px 0; 5290 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; 5291 max-width: 500px; 5292 color: var(--dy-text-color); 5293 } 5294 5295 .dy-lastplay-main-title { 5296 margin-bottom: 20px; 5297 font-size: 1.4em; 5298 color: var(--dy-title-color); 5299 font-weight: 700; 5300 letter-spacing: -0.5px; 5301 } 5302 5303 /* Modern Style More Button */ 5304 .dy-lastplay-more-wrap { 5305 margin-top: 25px; 5306 display: flex; 5307 justify-content: center; 5308 } 5309 5310 .dy-lastplay-more-btn { 5311 display: inline-block; 5312 padding: 10px 24px; 5313 background: var(--dy-more-bg); 5314 color: var(--dy-more-color); 5315 text-decoration: none !important; 5316 border-radius: 25px; 5317 font-size: 13px; 5318 font-weight: 400; 5319 transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 5320 backdrop-filter: blur(10px); 5321 -webkit-backdrop-filter: blur(10px); 5322 border: 1px solid rgba(0, 0, 0, 0.03); 5323 cursor: pointer; 5324 outline: none; 5325 } 5326 5327 .dy-lastplay-more-btn:hover { 5328 transform: scale(1.03); 5329 background: rgba(0, 0, 0, 0.08); 5330 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); 5331 } 5332 5333 .dy-lastplay-more-btn:active { 5334 transform: scale(0.98); 5335 } 5336
5337 /* Modern Custom Select - Dark Mode by default for visibility */ 5338 .dy-lastplay-selector-wrap { 5339 margin-bottom: 20px; 5340 position: relative; 5341 } 5342 5343 .dy-custom-select { 5344 position: relative; 5345 user-select: none; 5346 cursor: pointer; 5347 background: var(--dy-select-bg); 5348 color: var(--dy-select-text); 5349 border: 1px solid rgba(255, 255, 255, 0.1); 5350 border-radius: 8px; 5351 transition: all 0.3s ease; 5352 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); 5353 } 5354 5355 .dy-custom-select:hover { 5356 border-color: var(--dy-title-color); 5357 } 5358 5359 .dy-select-trigger { 5360 display: flex; 5361 align-items: center; 5362 justify-content: space-between; 5363 padding: 12px 15px; 5364 font-weight: 600; 5365 } 5366 5367 .dy-selected-text { 5368 display: flex; 5369 align-items: center; 5370 gap: 10px; 5371 } 5372 5373 .dy-select-options { 5374 position: absolute; 5375 top: calc(100% + 5px); 5376 left: 0; 5377 right: 0; 5378 background: var(--dy-select-bg); 5379 border: 1px solid rgba(255, 255, 255, 0.1); 5380 border-radius: 8px; 5381 z-index: 100; 5382 display: none; 5383 max-height: 250px; 5384 overflow-y: auto; 5385 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); 5386 animation: dyFadeIn 0.2s ease; 5387 } 5388 5389 .dy-custom-select.active .dy-select-options { 5390 display: block; 5391 } 5392 5393 .dy-select-option { 5394 display: flex; 5395 align-items: center; 5396 gap: 12px; 5397 padding: 10px 15px; 5398 transition: background 0.2s; 5399 color: var(--dy-select-text); 5400 } 5401 5402 .dy-select-option:hover { 5403 background: rgba(255, 255, 255, 0.05); 5404 } 5405 5406 .dy-select-option.selected { 5407 background: rgba(160, 128, 83, 0.2); 5408 color: var(--dy-title-color); 5409 font-weight: 700; 5410 } 5411 5412 .dy-station-logo-mini { 5413 width: 24px; 5414 height: 24px; 5415 object-fit: contain; 5416 border-radius: 4px; 5417 } 5418 5419 /* History Items */ 5420 .dy-lastplay-item { 5421 display: flex; 5422 align-items: center; 5423 padding: 12px 0; 5424 border-bottom: 1px solid rgba(128, 128, 128, 0.1); 5425 animation: dyFadeIn 0.5s ease; 5426 } 5427 5428 .dy-lastplay-item:last-child { 5429 border-bottom: none; 5430 } 5431 5432 .dy-lastplay-cover { 5433 width: 50px; 5434 height: 50px; 5435 object-fit: cover; 5436 border-radius: 6px; 5437 margin-right: 15px; 5438 background: #f0f0f0; 5439 flex-shrink: 0; 5440 box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); 5441 } 5442 5443 .dy-lastplay-time { 5444 font-size: 0.75em; 5445 color: #999; 5446 width: 45px; 5447 flex-shrink: 0; 5448 text-align: right; 5449 margin-right: 15px; 5450 display: none; 5451 /* Hidden for now, can be enabled via CSS */ 5452 } 5453 5454 .dy-lastplay-info { 5455 flex: 1; 5456 min-width: 0; 5457 } 5458 5459 .dy-lastplay-artist { 5460 font-weight: 700; 5461 display: block; 5462 font-size: var(--dy-font-size); 5463 color: var(--dy-text-color); 5464 white-space: nowrap; 5465 overflow: hidden; 5466 text-overflow: ellipsis; 5467 } 5468 5469 .dy-lastplay-title { 5470 font-size: calc(var(--dy-font-size) * 0.9); 5471 color: var(--dy-text-color); 5472 opacity: 0.8; 5473 display: block; 5474 white-space: nowrap; 5475 overflow: hidden; 5476 text-overflow: ellipsis; 5477 } 5478 5479 .dy-lastplay-loading { 5480 padding: 30px; 5481 text-align: center; 5482 opacity: 0.6; 5483 font-style: italic; 5484 font-size: 0.9em; 5485 } 5486 5487 @keyframes dyFadeIn { 5488 from { 5489 opacity: 0; 5490 transform: translateY(5px); 5491 } 5492 5493 to { 5494 opacity: 1;
5495 transform: translateY(0); 5496 } 5497 } 5498 </style> 5499 5500
5500<script> 5501 (function() { 5502 const container = document.getElementById('dy-lastplay-6ab5374f51487'); 5503 const list = container.querySelector('.dy-lastplay-list'); 5504 const customSelect = document.getElementById('dy-lastplay-6ab5374f51487-select'); 5505 const hiddenInput = customSelect.querySelector('.dy-lastplay-station-select'); 5506 const trigger = customSelect.querySelector('.dy-select-trigger'); 5507 const options = customSelect.querySelectorAll('.dy-select-option'); 5508 5509 const moreBtn = container.querySelector('.dy-lastplay-more-btn'); 5510 5511 const count = parseInt(container.dataset.count); 5512 const refresh = parseInt(container.dataset.refresh); 5513 const showCover = container.dataset.showCover === '1'; 5514 const defaultCover = container.dataset.defaultCover; 5515 5516 let currentCount = count; 5517 let updateInterval = null; 5518 let cachedHistory = []; // Cache for smooth expansion 5519 5520 const renderHistory = (history) => { 5521 if (!history || history.length === 0) { 5522 list.innerHTML = '<div class="dy-lastplay-loading">Aucun historique disponible.</div>'; 5523 return; 5524 } 5525 5526 // Artist Exclusion Filter 5527 const excludeList = JSON.parse(container.dataset.exclude || '[]').map(a => a.toLowerCase().trim()); 5528 const filtered = history.filter(item => { 5529 const artist = (item.subtitle || item.artist || item.author || '').toLowerCase().trim(); 5530 if (!artist) return true; 5531 return !excludeList.some(ex => artist === ex || artist.includes(ex)); 5532 }); 5533 5534 cachedHistory = filtered; 5535 5536 // Hide button if no more items to show 5537 if (moreBtn) { 5538 moreBtn.style.display = (filtered.length <= currentCount) ? 'none' : 'inline-block'; 5539 } 5540 5541 const toDisplay = filtered.slice(0, currentCount); 5542 const currentItemsCount = list.querySelectorAll('.dy-lastplay-item').length; 5543 5544 const buildItem = (item) => { 5545 let coverHtml = ''; 5546 if (showCover) { 5547 const img = item.thumbnail || item.cover_medium || item.image || item.cover || item.picture || defaultCover; 5548 if (img) coverHtml = `<img decoding="async" src="${img}" class="dy-lastplay-cover" alt="cover">`; 5549 } 5550 const artistName = item.subtitle || item.artist || item.author || 'Inconnu'; 5551 const trackTitle = item.title || item.name || 'Titre inconnu'; 5552 5553 return ` 5554 <div class="dy-lastplay-item"> 5555 ${coverHtml} 5556 <div class="dy-lastplay-info"> 5557 <span class="dy-lastplay-artist">${artistName}</span> 5558 <span class="dy-lastplay-title">${trackTitle}</span> 5559 </div> 5560 </div> 5561 `; 5562 }; 5563 5564 // If we are expanding (currentCount > visible items) 5565 if (toDisplay.length > currentItemsCount && currentItemsCount > 0) { 5566 const nextItems = toDisplay.slice(currentItemsCount); 5567 let appendHtml = ''; 5568 nextItems.forEach(item => appendHtml += buildItem(item)); 5569 list.insertAdjacentHTML('beforeend', appendHtml); 5570 } else { 5571 // Full refresh (first load, station change, or data change) 5572 let newHtml = ''; 5573 toDisplay.forEach(item => newHtml += buildItem(item)); 5574 if (list.innerHTML !== newHtml) { 5575 list.innerHTML = newHtml; 5576 } 5577 } 5578 }; 5579 5580 if (moreBtn) { 5581 moreBtn.addEventListener('click', () => { 5582 const step = parseInt(moreBtn.dataset.step) || 5; 5583 currentCount += step; 5584 5585 if (cachedHistory.length > 0) { 5586 renderHistory(cachedHistory); 5587 } else { 5588 updateHistory(); 5589 } 5590 }); 5591 } 5592 5593 // Custom Select Logic 5594 trigger.addEventListener('click', (e) => { 5595 e.stopPropagation(); 5596 customSelect.classList.toggle('active'); 5597 }); 5598 5599 document.addEventListener('click', () => customSelect.classList.remove('active')); 5600 5601 const updateTriggerText = (name, logo) => { 5602 const textSpan = trigger.querySelector('.dy-selected-text'); 5603 textSpan.innerHTML = `<img decoding="async" src="${logo}" class="dy-station-logo-mini"> <span>${name}</span>`; 5604 }; 5605 5606 // Set initial trigger text 5607 const initialOption = customSelect.querySelector('.dy-select-option.selected') || options[0]; 5608 if (initialOption) { 5609 updateTriggerText(initialOption.querySelector('span').innerText, initialOption.dataset.logo); 5610 hiddenInput.value = initialOption.dataset.value; 5611 } 5612 5613 options.forEach(opt => { 5614 opt.addEventListener('click', () => { 5615 const val = opt.dataset.value; 5616 const name = opt.querySelector('span').innerText; 5617 const logo = opt.dataset.logo; 5618 5619 options.forEach(o => o.classList.remove('selected')); 5620 opt.classList.add('selected'); 5621 5622 hiddenInput.value = val; 5623 updateTriggerText(name, logo); 5624 5625 // Reset count to default when switching stations 5626 currentCount = count; 5627 5628 list.innerHTML = '<div class="dy-lastplay-loading">Mise à jour...</div>'; 5629 updateHistory(); 5630 startInterval(); 5631 }); 5632 }); 5633 5634 window.addEventListener('dyStationChanged', (e) => { 5635 if (e.detail && e.detail.jsonKey && hiddenInput.value !== e.detail.jsonKey) { 5636 hiddenInput.value = e.detail.jsonKey; 5637 5638 const opt = Array.from(options).find(o => o.dataset.value === e.detail.jsonKey); 5639 if (opt) { 5640 const name = opt.querySelector('span').innerText; 5641 const logo = opt.dataset.logo; 5642 options.forEach(o => o.classList.remove('selected')); 5643 opt.classList.add('selected'); 5644 updateTriggerText(name, logo); 5645 } 5646 5647 currentCount = count; 5648 list.innerHTML = '<div class="dy-lastplay-loading">Mise à jour...</div>'; 5649 updateHistory(); 5650 startInterval(); 5651 } 5652 }); 5653 5654 const updateHistory = () => { 5655 const jsonKey = hiddenInput.value; 5656 if (!window.dyRadio || !window.dyRadio.globalJson) { 5657 setTimeout(updateHistory, 500); 5658 return; 5659 } 5660 if (!jsonKey) return; 5661 5662 let _t = Date.now(); 5663 let fetchUrl = window.dyRadio.globalJson + '?t=' + _t; 5664 try { 5665 const jsonUrl = new URL(window.dyRadio.globalJson); 5666 if (jsonUrl.hostname !== window.location.hostname) { 5667 fetchUrl = window.dyRadio.ajaxurl + '?action=dy_get_metadata&t=' + _t; 5668 } 5669 } catch (e) {} 5670 5671 fetch(fetchUrl) 5672 .then(r => r.json()) 5673 .then(data => { 5674 let history = []; 5675 const jsonKey = hiddenInput.value; 5676 if (jsonKey && Array.isArray(data[jsonKey])) { 5677 history = data[jsonKey]; 5678 } else if (Array.isArray(data.history)) { 5679 history = data.history;
5680 } else if (Array.isArray(data)) { 5681 history = data; 5682 } 5683 renderHistory(history); 5684 }) 5685 .catch(err => { 5686 console.error('History Fetch Error:', err); 5687 list.innerHTML = '<div class="dy-lastplay-loading">Erreur lors du chargement.</div>'; 5688 }); 5689 }; 5690 5691 const startInterval = () => { 5692 if (updateInterval) clearInterval(updateInterval); 5693 if (refresh > 0) { 5694 updateInterval = setInterval(updateHistory, refresh * 1000); 5695 } 5696 }; 5697 5698 // Initial load 5699 updateHistory(); 5700 startInterval(); 5701 })(); 5702 </script>
5702 5703 </div> 5704 </div> 5705 </div> 5706 </div> 5707 5708 <!-- History Toggle Button --> 5709 <div class="dy-history-toggle-btn" style="position: absolute; left: calc(45% + 30px); bottom: 30px; width: auto; padding: 0 25px; height: 60px; border-radius: 30px; background: rgba(0,0,0,0.6); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); border: 1px solid rgba(255,255,255,0.1); box-shadow: 0 5px 20px rgba(0,0,0,0.5); display: flex; justify-content: center; align-items: center; color: #ffffff; font-size: 16px; font-weight: 600; cursor: pointer; pointer-events: auto; z-index: 40; transition: transform 0.3s ease, background 0.3s ease;" onclick="this.closest('.dy-carousel-container').classList.add('dy-show-history')" onmouseover="this.style.background='rgba(0,0,0,0.8)'" onmouseout="this.style.background='rgba(0,0,0,0.6)'"> 5710 <i class="fas fa-list-ul" style="margin-right: 12px; font-size: 20px;"></i> Titres précédents diffusés </div> 5711 5712 <style> 5713 .dy-carousel-container.dy-show-history .dy-carousel-history-panel { transform: translateX(0) !important; } 5714 .dy-carousel-container.dy-show-history .dy-history-toggle-btn { transform: scale(0) !important; pointer-events: none; } 5715 .dy-carousel-history-panel .dy-lastplay-selector-wrap { display: none !important; } 5716 /* Custom Scrollbar for modern look */ 5717 .dy-carousel-history-panel::-webkit-scrollbar { width: 6px; } 5718 .dy-carousel-history-panel::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); border-radius: 10px; } 5719 .dy-carousel-history-panel::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 10px; } 5720 .dy-carousel-history-panel::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.3); } 5721 5722 @media (max-width: 768px) { 5723 .dy-carousel-history-panel { width: 100% !important; border-right: none; } 5724 .dy-history-toggle-btn { bottom: 20px; left: 20px; height: 50px; font-size: 14px; padding: 0 20px; } 5725 } 5726 </style> 5727 5728 <style> 5729 5730 /* Radius scoped ONLY to the carousel-full container â never apply overflow:hidden globally to Avada containers */ 5731 #carousel-full-6ab5374f50913 .dy-full-bg-layers, 5732 #carousel-full-6ab5374f50913 .dy-carousel-layout-split { 5733 border-radius: 15px; 5734 } 5735 5736 .dy-carousel-vertical-gsap { 5737 user-select: none; 5738 touch-action: pan-x pinch-zoom; 5739 } 5740 5741 .dy-carousel-vertical-gsap .dy-station-card { 5742 will-change: transform, opacity; 5743 transition: background 0.3s ease; 5744 left: 0 !important; 5745 margin-left: 0 !important; 5746 margin-right: 0 !important; 5747 } 5748 5749 .dy-renault-row.is-active-center .dy-row-content { 5750 background: transparent !important; 5751 border-color: transparent !important; 5752 border: none !important; 5753 } 5754 5755 .dy-renault-row .dy-play-btn { 5756 background: rgba(255, 255, 255, 0.1); 5757 border: none !important; 5758 color: #fff; 5759 transition: all 0.3s ease; 5760 } 5761 5762 .dy-renault-row.is-active-center .dy-play-btn { 5763 background: #fff; 5764 color: #000; 5765 } 5766
5767 /* Remove conflicting active center overrides */ 5768 .dy-renault-row.is-active-center, 5769 .dy-renault-row.dy-card-active { 5770 /* Inherit default positioning */ 5771 } 5772 5773 /* Cover Swap logic */ 5774 .dy-carousel-full.dy-display-cover .radio-logo-layer { 5775 opacity: 0 !important; 5776 transform: scale(0.9) !important; 5777 transition: opacity 0.4s ease, transform 0.4s ease !important; 5778 } 5779 5780 .dy-carousel-full.dy-display-cover .radio-cover { 5781 opacity: 1 !important; 5782 transform: scale(1) !important; 5783 transition: opacity 0.4s ease, transform 0.4s ease !important; 5784 } 5785 5786 .dy-carousel-full.dy-display-logo .radio-logo-layer { 5787 opacity: 1 !important; 5788 transform: scale(1) !important; 5789 transition: opacity 0.4s ease, transform 0.4s ease !important; 5790 } 5791 5792 .dy-carousel-full.dy-display-logo .radio-cover { 5793 opacity: 0 !important; 5794 transform: scale(0.9) !important; 5795 transition: opacity 0.4s ease, transform 0.4s ease !important; 5796 } 5797 5798 /* Hover Invert Logic */ 5799 .dy-carousel-full.dy-display-cover .dy-station-card:hover .radio-cover { 5800 opacity: 0 !important; 5801 transform: scale(0.9) !important; 5802 } 5803 .dy-carousel-full.dy-display-cover .dy-station-card:hover .radio-logo-layer { 5804 opacity: 1 !important; 5805 transform: scale(1) !important; 5806 } 5807 .dy-carousel-full.dy-display-logo .dy-station-card:hover .radio-logo-layer { 5808 opacity: 0 !important; 5809 transform: scale(0.9) !important; 5810 } 5811 .dy-carousel-full.dy-display-logo .dy-station-card:hover .radio-cover { 5812 opacity: 1 !important; 5813 transform: scale(1) !important; 5814 } 5815 5816 /* Radius styles moved to ID-scoped block above for better specificity */ 5817 </style> 5818 5819
5819<script> 5820 (function() { 5821 const container = document.getElementById('carousel-full-6ab5374f50913'); 5822 if (!container) return; 5823 5824 const track = container.querySelector('.dy-carousel-vertical-track'); 5825 const cards = Array.from(track.querySelectorAll('.dy-station-card')); 5826 const bgLayers = [container.querySelector('.dy-bg-layer-1'), container.querySelector('.dy-bg-layer-2')]; 5827 const visibleItems = parseInt(container.dataset.visible) || 4; 5828 const stationCount = cards.length; 5829 if (stationCount === 0) return; 5830 5831 let scrollPos = 0; 5832 let targetPos = 0; 5833 let isDragging = false; 5834 let startY = 0; 5835 let startPos = 0; 5836 let activeIdx = -1; 5837 let currentLayerIdx = 0; 5838 5839 let cardSpacing = container.offsetHeight / visibleItems; 5840 let totalHeight = stationCount * cardSpacing; 5841 5842 function recalculateDimensions() { 5843 let items = visibleItems; 5844 if (container.classList.contains('dy-fullscreen') || (document.fullscreenElement === container)) { 5845 if (window.innerHeight < 550) { 5846 items = Math.min(2, visibleItems); 5847 } else if (window.innerHeight < 750) { 5848 items = Math.min(3, visibleItems); 5849 } 5850 } 5851 cardSpacing = container.offsetHeight / items; 5852 totalHeight = stationCount * cardSpacing; 5853 } 5854 5855 function snap() { 5856 targetPos = Math.round(targetPos / cardSpacing) * cardSpacing; 5857 } 5858 5859 const baseOpacitySide = cards[0].dataset.opacitySide !== undefined ? parseFloat(cards[0].dataset.opacitySide) : 0.2; 5860 const baseScaleReduction = cards[0].dataset.scaleReduction !== undefined ? parseFloat(cards[0].dataset.scaleReduction) : 0.7; 5861 const depthIntensity = cards[0].dataset.depthIntensity !== undefined ? parseFloat(cards[0].dataset.depthIntensity) : 1; 5862 const blurAmount = cards[0].dataset.blurAmount !== undefined ? parseFloat(cards[0].dataset.blurAmount) : 0.5; 5863 const glassColorOpacity = parseFloat(container.dataset.glassColorOpacity) || 0.4; 5864 const glassOverlay = container.querySelector('.dy-dark-glass-overlay'); 5865 const activePlayScale = parseFloat(container.dataset.activePlayScale) || 1.2; 5866 5867 // Keep perspective always active to avoid "canceled" look 5868 container.style.perspective = '2000px'; 5869 5870 function hexToRgba(hex, opacity) { 5871 let r = 0, 5872 g = 0, 5873 b = 0; 5874 if (hex.length === 4) { 5875 r = parseInt(hex[1] + hex[1], 16); 5876 g = parseInt(hex[2] + hex[2], 16); 5877 b = parseInt(hex[3] + hex[3], 16); 5878 } else if (hex.length === 7) { 5879 r = parseInt(hex.substring(1, 3), 16); 5880 g = parseInt(hex.substring(3, 5), 16); 5881 b = parseInt(hex.substring(5, 7), 16); 5882 } 5883 return `rgba(${r}, ${g}, ${b}, ${opacity})`; 5884 } 5885 5886 function update() { 5887 scrollPos += (targetPos - scrollPos) * 0.1; 5888 5889 let bestIdx = -1; 5890 let minAbsY = Infinity; 5891 5892 cards.forEach((card, i) => { 5893 let y = (i * cardSpacing) + scrollPos; 5894 5895 const halfTotal = totalHeight / 2; 5896 while (y > halfTotal) y -= totalHeight; 5897 while (y < -halfTotal) y += totalHeight; 5898 5899 const containerHeight = container.offsetHeight; 5900 const normalizedY = y / (containerHeight / 2); 5901 const absY = Math.abs(normalizedY); 5902 5903 if (absY < minAbsY) { 5904 minAbsY = absY; 5905 bestIdx = i; 5906 } 5907 5908 // Restore scale and opacity calculations 5909 const scale = 1 - (absY * (1 - baseScaleReduction) * depthIntensity); 5910 const opacity = 1 - (absY * (1 - baseOpacitySide) * depthIntensity); 5911 5912 // Modernized 3D Logic - Cleaner depth curves 5913 const rotateX = normalizedY * -25 * depthIntensity; 5914 const z = -Math.pow(absY, 1.6) * 300 * depthIntensity; 5915 5916 // Apply configurable blur amount (0-100% -> 0 to 12px max blur) 5917 const blurValue = Math.min(absY * 8 * blurAmount * depthIntensity, 12 * blurAmount); 5918 5919 // Calculate absolute Y centered in container 5920 const absPixelY = (containerHeight / 2) + y - (card.offsetHeight / 2); 5921 5922 // Horizontal compensation: Keep left edge perfectly aligned even when scaling from center 5923 // This shift counteracts the shrink-to-center to maintain vertical flushness 5924 const translateX = (1 - scale) * 50; 5925 5926 card.style.transformOrigin = 'center center'; 5927 card.style.transform = `translate3d(-${translateX}%, ${absPixelY}px, ${z}px) rotateX(${rotateX}deg) scale(${scale})`; 5928 card.style.opacity = Math.max(0, opacity); 5929 card.style.filter = (depthIntensity > 0 && absY > 0.1) ? `blur(${blurValue}px)` : 'none'; 5930 card.style.zIndex = Math.round(10000 - absY * 1000); 5931 card.style.visibility = (absY > 1.8) ? 'hidden' : 'visible'; 5932 card.style.pointerEvents = (absY > 1.8) ? 'none' : 'auto'; 5933 5934 const logoWrap = card.querySelector('.dy-row-logo-wrap'); 5935 if (logoWrap) { 5936 const logoScaleFactor = 0.3 * depthIntensity; 5937 const logoScale = 1 - (Math.min(absY, 1.5) * logoScaleFactor); 5938 logoWrap.style.transform = `scale(${Math.max(0.6, logoScale)})`; 5939 } 5940 5941 // Play button active scaling 5942 const playBtn = card.querySelector('.dy-card-play-btn'); 5943 if (playBtn) { 5944 // Smoother enlargement curve 5945 const playFactor = Math.pow(Math.max(0, 1 - absY), 3); 5946 const playBtnScale = 1 + ((activePlayScale - 1) * playFactor); 5947 playBtn.style.transformOrigin = 'center center'; 5948 playBtn.style.transform = `scale(${playBtnScale})`; 5949 } 5950 5951 if (absY < 0.2) card.classList.add('is-active-center'); 5952 else card.classList.remove('is-active-center'); 5953 }); 5954 5955 if (bestIdx !== activeIdx) { 5956 activeIdx = bestIdx; 5957 if (cards[activeIdx] && cards[activeIdx].dataset.jsonKey) { 5958 const newLogo = cards[activeIdx].dataset.logo; 5959 window.dispatchEvent(new CustomEvent('dyStationChanged', { detail: { 5960 jsonKey: cards[activeIdx].dataset.jsonKey, 5961 logoSrc: newLogo 5962 } })); 5963 5964 const topLogo = container.querySelector('#dy-carousel-top-logo'); 5965 if (topLogo && newLogo) { 5966 topLogo.style.opacity = '0'; 5967 setTimeout(() => { 5968 topLogo.src = newLogo; 5969 topLogo.style.opacity = '0.8'; 5970 }, 300); 5971 } 5972 } 5973 const nextLayerIdx = 1 - currentLayerIdx; 5974 const bgUrl = cards[activeIdx].dataset.bg; 5975 const stColor = cards[activeIdx].dataset.color || '#000000'; 5976 5977 if (bgUrl && bgUrl.startsWith('http')) { 5978 bgLayers[nextLayerIdx].style.backgroundImage = `url('${bgUrl}')`; 5979 bgLayers[nextLayerIdx].style.backgroundColor = 'transparent'; 5980 } else if (bgUrl) { 5981 bgLayers[nextLayerIdx].style.backgroundImage = 'none'; 5982 bgLayers[nextLayerIdx].style.backgroundColor = bgUrl; 5983 } 5984 5985 if (glassOverlay) { 5986 glassOverlay.style.backgroundColor = hexToRgba(stColor, glassColorOpacity); 5987 } 5988 5989 bgLayers[nextLayerIdx].style.opacity = 1; 5990 bgLayers[currentLayerIdx].style.opacity = 0; 5991 currentLayerIdx = nextLayerIdx; 5992 } 5993 5994 window.dyCarouselMoveTo = (idx) => {
5995 const basePos = -(idx * cardSpacing); 5996 if (!totalHeight) { 5997 targetPos = basePos; 5998 return; 5999 } 6000 let diff = (basePos - targetPos) % totalHeight; 6001 if (diff > totalHeight / 2) { 6002 diff -= totalHeight; 6003 } else if (diff < -totalHeight / 2) { 6004 diff += totalHeight; 6005 } 6006 targetPos += diff; 6007 }; 6008 6009 requestAnimationFrame(update); 6010 } 6011 6012 function handleStart(pageY) { 6013 isDragging = true; 6014 startY = pageY; 6015 startPos = targetPos; 6016 container.style.cursor = 'grabbing'; 6017 } 6018 6019 container.addEventListener('mousedown', e => { 6020 if (e.target.closest('.dy-fullscreen-toggle-btn')) return; 6021 const card = e.target.closest('.dy-station-card'); 6022 if (card && (e.target.closest('.dy-play-btn') || e.target.closest('.dy-row-content'))) { 6023 const idx = parseInt(card.dataset.index); 6024 dyRadio.playStation(idx, e); 6025 window.dyCarouselMoveTo(idx); 6026 return; // Prevent dragging 6027 } 6028 handleStart(e.pageY); 6029 }); 6030 6031 container.addEventListener('touchstart', e => { 6032 if (e.target.closest('.dy-fullscreen-toggle-btn')) return; 6033 const card = e.target.closest('.dy-station-card'); 6034 if (card && (e.target.closest('.dy-play-btn') || e.target.closest('.dy-row-content'))) { 6035 const idx = parseInt(card.dataset.index); 6036 dyRadio.playStation(idx, e); 6037 window.dyCarouselMoveTo(idx); 6038 return; // Prevent dragging 6039 } 6040 handleStart(e.touches[0].pageY); 6041 }, { 6042 passive: true 6043 }); 6044 6045 window.addEventListener('mousemove', e => { 6046 if (!isDragging) return; 6047 const delta = e.pageY - startY; 6048 targetPos = startPos + delta; 6049 }); 6050 6051 window.addEventListener('touchmove', e => { 6052 if (!isDragging) return; 6053 const delta = e.touches[0].pageY - startY; 6054 targetPos = startPos + delta; 6055 e.preventDefault(); 6056 }, { 6057 passive: false 6058 }); 6059 6060 window.addEventListener('mouseup', () => { 6061 isDragging = false; 6062 container.style.cursor = 'grab'; 6063 snap();
6064 }); 6065 6066 window.addEventListener('touchend', () => { 6067 if (isDragging) { 6068 isDragging = false; 6069 snap(); 6070 } 6071 }); 6072 6073 let wheelTimeout; 6074 container.addEventListener('wheel', e => { 6075 if (e.target.closest('.dy-carousel-history-panel')) return; 6076 e.preventDefault(); 6077 targetPos -= e.deltaY * 0.8; 6078 clearTimeout(wheelTimeout); 6079 wheelTimeout = setTimeout(snap, 200); 6080 }, { 6081 passive: false 6082 }); 6083 6084 6085 update(); 6086 })(); 6087 </script>
6087 6088 6089 </div> 6090</div></div></div></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-3-3 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-small-visibility" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-margin-top:2%;--awb-margin-bottom:3%;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-24 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-10 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color3);--awb-margin-top:0px;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:24px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;">Actualités</div></div><div class="fusion-blog-shortcode fusion-blog-shortcode-3 fusion-blog-archive fusion-blog-layout-grid-wrapper fusion-blog-no" style="--grid_separator_color:rgba(255,255,255,0);"><style type="text/css">.fusion-blog-shortcode-3 .fusion-blog-layout-grid .fusion-post-grid{padding:10px;}.fusion-blog-shortcode-3 .fusion-posts-container{margin-left: -10px !important; margin-right:-10px !important;}</style><div class="fusion-posts-container fusion-posts-container-no fusion-no-meta-info fusion-blog-rollover fusion-blog-layout-grid fusion-blog-layout-grid-5 isotope fusion-blog-equal-heights" data-pages="117" data-grid-col-space="20" style="margin: -10px -10px 0;min-height:500px;"><article id="blog-3-post-55944" class="fusion-post-grid post-55944 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 6091<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 6092 6093 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 6094 <ul class="slides"> 6095 6096 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 6097 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidence
6097s-souvenirs-crooner-and-friends-emission-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Portrait de la chanteuse Liane Foly vêtue d'une veste noire en velours, le regard posé vers l'objectif." srcset="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 928px) 319px, (min-width: 856px) 399px, (min-width: 784px) 532px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 6098 <div class="fusion-rollover-content"> 6099 6100 6101 6102 6103 6104 6105 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/" aria-label="Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »"></a> 6106 </div> 6107</div> 6108</div> 6109</li> 6110 6111 6112 </ul> 6113 </div> 6114 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/">Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »</a></div></div></div><div class="fusion-clearfix"></div></div> 6115</article> 6116<article id="blog-3-post-55927" class="fusion-post-grid post-55927 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 6117<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 6118 6119 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 6120 <ul class="slides"> 6121 6122 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 6123 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-française-crooner-radio" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 928px) 319px, (min-width: 856px) 399px, (min-width: 784px) 532px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 6124 <div class="fusion-rollover-content"> 6125 6126 6127 6128 6129 6130 6131 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-07-28-sienna-spiro-pop-symphonique-soul-vintage-esthetique-neo-1960/" aria-label="Sienna Spiro la nouvelle star mondiale néo 60âs"></a> 6132 </div> 6133</div> 6134</div> 6135</li> 6136 6137 6138 </ul> 6139 </div> 6140 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-07-28-sienna-spiro-pop-symphonique-soul-vintage-esthetique-neo-1960/">Sienna Spiro la nouvelle star mondiale néo 60âs</a></div></div></div><div class="fusion-clearfix"></div></div> 6141</article> 6142<article id="blog-3-post-55924" class="fusion-post-grid post-55924 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 6143<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 6144 6145 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 6146 <ul class="slides"> 6147 6148 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 6149 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100v
6149w, (min-width: 928px) 319px, (min-width: 856px) 399px, (min-width: 784px) 532px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 6150 <div class="fusion-rollover-content"> 6151 6152 6153 6154 6155 6156 6157 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-07-27-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h/" aria-label="Un été des belles années 60/70 pour garder la crooner attitude"></a> 6158 </div> 6159</div> 6160</div> 6161</li> 6162 6163 6164 </ul> 6165 </div> 6166 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-07-27-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h/">Un été des belles années 60/70 pour garder la crooner attitude</a></div></div></div><div class="fusion-clearfix"></div></div> 6167</article> 6168<article id="blog-3-post-55908" class="fusion-post-grid post-55908 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 6169<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 6170 6171 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 6172 <ul class="slides"> 6173 6174 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 6175 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Les Puppini Sisters en interview sur Crooner Radio dans l'emission Crooner And Friends" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 928px) 319px, (min-width: 856px) 399px, (min-width: 784px) 532px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 6176 <div class="fusion-rollover-content"> 6177 6178 6179 6180 6181 6182 6183 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-22-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour/" aria-label="Interview | Les Puppini Sisters célèbrent 20 ans de charme et de swing"></a> 6184 </div> 6185</div> 6186</div> 6187</li> 6188 6189 6190 </ul> 6191 </div> 6192 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-22-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour/">Interview | Les Puppini Sisters célèbrent 20 ans de charme et de swing</a></div></div></div><div class="fusion-clearfix"></div></div> 6193</article> 6194<article id="blog-3-post-52117" class="fusion-post-grid post-52117 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 6195<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 6196 6197 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 6198 <ul class="slides"> 6199 6200 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 6201 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin.webp" class="attachment-full size-full wp-post-image" alt="2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-600x357.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-800x476.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin.webp 900w" sizes="(min-width: 2200px) 100v
6201w, (min-width: 928px) 319px, (min-width: 856px) 399px, (min-width: 784px) 532px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /><div class="fusion-rollover"> 6202 <div class="fusion-rollover-content"> 6203 6204 6205 6206 6207 6208 6209 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-18-fete-de-la-musique-2026-ou-sortir-a-paris-club-jazz-swing-dance-diner-dimanche-21-juin/" aria-label="Où sortir à Paris pour la fête de la musique le 21 Juin 2026 ?"></a> 6210 </div> 6211</div> 6212</div> 6213</li> 6214 6215 6216 </ul> 6217 </div> 6218 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-18-fete-de-la-musique-2026-ou-sortir-a-paris-club-jazz-swing-dance-diner-dimanche-21-juin/">Où sortir à Paris pour la fête de la musique le 21 Juin 2026 ?</a></div></div></div><div class="fusion-clearfix"></div></div> 6219</article> 6220<div class="fusion-clearfix"></div></div></div></div></div></div></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-3-4 fusion-flex-container has-pattern-background has-mask-background fusion-parallax-none nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-small-visibility" style="--awb-border-radius-top-left:12px;--awb-border-radius-top-right:12px;--awb-border-radius-bottom-right:12px;--awb-border-radius-bottom-left:12px;--awb-overflow:hidden;--awb-padding-top:5%;--awb-padding-right:14%;--awb-padding-bottom:5%;--awb-padding-left:11%;--awb-background-image:url("https://www.croonerradio.fr/wp-content/uploads/2025/03/Waves-Lines-Audio-Application-Apple-Android-Black-Pro-scaled.webp");--awb-background-size:cover;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-25 fusion_builder_column_1_2 1_2 fusion-flex-column fusion-flex-align-self-center" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-row"><div class="fusion-image-element" style="--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-14 hover-type-none"><img decoding="async" width="922" height="1021" title="25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID" src="https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID.webp" alt class="img-responsive wp-image-48904" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID-200x221.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID-400x443.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID-600x664.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID-800x886.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-07-IMG-DIFFUSION-APPLICATION-SMARTPHONE-MOBILE-CROONER-RADIO-APPLE-ANDROID.webp 922w" sizes="(max-width: 640px) 100v
6220w, 800px" /></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-26 fusion_builder_column_2_5 2_5 fusion-flex-column fusion-flex-align-self-center" style="--awb-bg-size:cover;--awb-width-large:40%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:4.8%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:4.8%;--awb-width-medium:40%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:4.8%;--awb-spacing-left-medium:4.8%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-row"><div class="fusion-title title fusion-title-11 fusion-sep-none fusion-title-text fusion-title-size-div custom-title" style="--awb-text-color:var(--awb-color3);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:var(--awb-typography5-font-size);"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:400;margin:0;letter-spacing:var(--awb-typography5-letter-spacing);text-transform:var(--awb-typography5-text-transform);font-size:1em;line-height:var(--awb-typography5-line-height);"><p>Télécharger<br /> 6221gratuitement<br /> 6222notre application</p></div></div><div class="fusion-title title fusion-title-12 fusion-no-small-visibility fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color3);--awb-margin-bottom:8%;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:24px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:300;margin:0;font-size:1em;line-height:1.1;"><p>Partout avec vous<br /> 6223sur votre smartphone & tablette</p></div></div><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap" style="--awb-flex-grow:0;--awb-flex-grow-medium:0;--awb-flex-grow-small:0;--awb-flex-shrink:0;--awb-flex-shrink-medium:0;--awb-flex-shrink-small:0;width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-0 fusion_builder_column_inner_1_2 1_2 fusion-flex-column fusion-no-small-visibility" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-row"><div class="fusion-image-element" style="--awb-max-width:218px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(120%);"><span class=" fusion-imageframe imageframe-none imageframe-15 hover-type-none"><a class="fusion-no-lightbox" href="https://play.google.com/store/apps/details?id=com.croonerradio.croonerradio" target="_blank" aria-label="Download_Application_Google_Play_Store_Crooner Radio-Jazz_Android_Auto_TV" rel="noopener noreferrer"><img decoding="async" width="600" height="181" alt="Download_Application_Google_Play_Store_Crooner Radio-Jazz_Android_Auto_TV" src="https://www.croonerradio.fr/wp-content/uploads/2025/03/Download_Application_Google_Play_Store_Crooner-Radio-Jazz_Android_Auto_TV.webp" class="img-responsive wp-image-49551" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/03/Download_Application_Google_Play_Store_Crooner-Radio-Jazz_Android_Auto_TV-200x60.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Download_Application_Google_Play_Store_Crooner-Radio-Jazz_Android_Auto_TV-400x121.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Download_Application_Google_Play_Store_Crooner-Radio-Jazz_Android_Auto_TV.webp 600w" sizes="(max-width: 640px) 100v
6223w, 600px" /></a></span></div><div class="fusion-separator fusion-no-small-visibility fusion-no-large-visibility fusion-full-width-sep" style="align-self: center;margin-left: auto;margin-right: auto;margin-top:7%;width:100%;"></div></div></div><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-1 fusion_builder_column_inner_1_2 1_2 fusion-flex-column fusion-flex-align-self-flex-start fusion-no-small-visibility" style="--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-row"><div class="fusion-image-element" style="--awb-max-width:218px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-filter:brightness(100%);--awb-filter-transition:filter 0.3s ease, -webkit-backdrop-filter 0.3s ease, backdrop-filter 0.3s ease;--awb-filter-hover:brightness(130%);"><span class=" fusion-imageframe imageframe-none imageframe-16 hover-type-none"><a class="fusion-no-lightbox" href="https://apps.apple.com/fr/app/crooner-radio/id1065077340?platform=iphone" target="_blank" aria-label="Download_Application_Apple_Store_Crooner Radio-Jazz_IOS_Car_Play_AppleTV" rel="noopener noreferrer"><img decoding="async" width="600" height="181" alt="Download_Application_Apple_Store_Crooner-Radio-Jazz_IOS_Car_Play_AppleTV" src="https://www.croonerradio.fr/wp-content/uploads/2025/03/Download_Application_Apple_Store_Crooner-Radio-Jazz_IOS_Car_Play_AppleTV.webp" class="img-responsive wp-image-49554" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/03/Download_Application_Apple_Store_Crooner-Radio-Jazz_IOS_Car_Play_AppleTV-200x60.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Download_Application_Apple_Store_Crooner-Radio-Jazz_IOS_Car_Play_AppleTV-400x121.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/03/Download_Application_Apple_Store_Crooner-Radio-Jazz_IOS_Car_Play_AppleTV.webp 600w" sizes="(max-width: 640px) 100vw, 600px" /></a></span></div></div></div></div></div></div></div></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-3-5 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:1%;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-27 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-13 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color3);--awb-margin-top:0px;--awb-margin-top-small:10px;
6223--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:24px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;">Stations</div></div> <div class="dy-carousel-container dy-display-cover" 6224 style="--dy-visible-items: 6;" 6225 data-play-text="Ecouter" 6226 data-playing-text="En lecture" 6227 data-playing-bg="#c0392b" 6228 data-autoplay="1" 6229 data-pause-on-hover="1" 6230 data-speed="5000" 6231 data-split-enable="1" 6232 data-split-keywords="Feat., Featuring., with, ft." 6233 data-truncate-artist="25" 6234 data-truncate-title="30" 6235 data-hover-mode="logo" 6236 data-gap="12" 6237 data-mousewheel="1"> 6238 <div class="dy-nav-side dy-nav-side-left"> 6239 <button class="dy-nav-arrow dy-nav-prev" title="Précédent" onclick="dyRadio.scrollCarousel(-1, this)"><i class="fas fa-chevron-left"></i></button> 6240 </div> 6241 <div class="dy-nav-side dy-nav-side-right"> 6242 <button class="dy-nav-arrow dy-nav-next" title="Suivant" onclick="dyRadio.scrollCarousel(1, this)"><i class="fas fa-chevron-right"></i></button> 6243 </div> 6244 6245 <div class="dy-carousel-wrapper no-sb"> 6246 <div id="dy-card-0" class="dy-station-card" data-index="0" onclick="dyRadio.playStation(0, event)"> 6247 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_dab_background-copie-2026.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6248 6249 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(112, 112, 112, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6250 6251 <div class="dy-cover-container"> 6252 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Logo"> 6253 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Cover"> 6254 </div> 6255 <div class="dy-station-card-info"> 6256 <div class="dy-station-name">Crooner Radio</div> 6257 <div class="dy-station-artist dy-station-artist-0">Chargement...</div> 6258 <div class="dy-station-title dy-station-title-0">Veuillez patienter...</div> 6259 <button class="dy-play-btn"> 6260 <i class="dy-play-icon fas fa-play"></i> 6261 <span class="dy-play-text">Ecouter</span> 6262 </button> 6263 </div> 6264 </div> 6265 <div id="dy-card-1" class="dy-station-card" data-index="1" onclick="dyRadio.playStation(1, event)"> 6266 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_american_rat_pack_background_v2-2026.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6267 6268 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(48, 68, 141, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6269 6270 <div class="dy-cover-container"> 6271 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-AMERICAN.jpg" alt="Logo"> 6272 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-AMERICAN.jpg" alt="Cover"> 6273 </div> 6274 <div class="dy-station-card-info"> 6275 <div class="dy-station-name">American</div> 6276 <div class="dy-station-artist dy-station-artist-1">Chargement...</div> 6277 <div class="dy-station-title dy-station-title-1">Veuillez patienter...</div> 6278 <button class="dy-play-btn"> 6279 <i class="dy-play-icon fas fa-play"></i>
6280 <span class="dy-play-text">Ecouter</span> 6281 </button> 6282 </div> 6283 </div> 6284 <div id="dy-card-2" class="dy-station-card" data-index="2" onclick="dyRadio.playStation(2, event)"> 6285 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_barbra_streisand_background-copie.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6286 6287 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(161, 4, 91, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6288 6289 <div class="dy-cover-container"> 6290 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-BARBRA-STREISAND.jpg" alt="Logo"> 6291 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-BARBRA-STREISAND.jpg" alt="Cover"> 6292 </div> 6293 <div class="dy-station-card-info"> 6294 <div class="dy-station-name">Barbra Streisand</div> 6295 <div class="dy-station-artist dy-station-artist-2">Chargement...</div> 6296 <div class="dy-station-title dy-station-title-2">Veuillez patienter...</div> 6297 <button class="dy-play-btn"> 6298 <i class="dy-play-icon fas fa-play"></i> 6299 <span class="dy-play-text">Ecouter</span> 6300 </button> 6301 </div> 6302 </div> 6303 <div id="dy-card-3" class="dy-station-card" data-index="3" onclick="dyRadio.playStation(3, event)"> 6304 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_celine_dion_background_v2-copie.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6305 6306 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(116, 2, 147, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6307 6308 <div class="dy-cover-container"> 6309 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CELINE-DION.jpg" alt="Logo"> 6310 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CELINE-DION.jpg" alt="Cover"> 6311 </div> 6312 <div class="dy-station-card-info"> 6313 <div class="dy-station-name">Céline Dion</div> 6314 <div class="dy-station-artist dy-station-artist-3">Chargement...</div> 6315 <div class="dy-station-title dy-station-title-3">Veuillez patienter...</div> 6316 <button class="dy-play-btn"> 6317 <i class="dy-play-icon fas fa-play"></i> 6318 <span class="dy-play-text">Ecouter</span> 6319 </button> 6320 </div> 6321 </div> 6322 <div id="dy-card-4" class="dy-station-card" data-index="4" onclick="dyRadio.playStation(4, event)"> 6323 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_classic_gold_background.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6324 6325 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(184, 123, 30, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6326 6327 <div class="dy-cover-container"> 6328 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CLASSIC-GOLD.jpg" alt="Logo"> 6329 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CLASSIC-GOLD.jpg" alt="Cover"> 6330 </div> 6331 <div class="dy-station-card-info"> 6332 <div class="dy-station-name">Classic Gold</div> 6333 <div class="dy-station-artist dy-station-artist-4">Chargement...</div> 6334 <div class="dy-station-title dy-station-title-4">Veuillez patienter...</div> 6335 <button class="dy-play-btn"> 6336 <i class="dy-play-icon fas fa-play"></i>
6337 <span class="dy-play-text">Ecouter</span> 6338 </button> 6339 </div> 6340 </div> 6341 <div id="dy-card-5" class="dy-station-card" data-index="5" onclick="dyRadio.playStation(5, event)"> 6342 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_dean_martin_background.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6343 6344 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(35, 121, 87, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6345 6346 <div class="dy-cover-container"> 6347 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-DEAN-MARTIN.jpg" alt="Logo"> 6348 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-DEAN-MARTIN.jpg" alt="Cover"> 6349 </div> 6350 <div class="dy-station-card-info"> 6351 <div class="dy-station-name">Dean Martin</div> 6352 <div class="dy-station-artist dy-station-artist-5">Chargement...</div> 6353 <div class="dy-station-title dy-station-title-5">Veuillez patienter...</div> 6354 <button class="dy-play-btn"> 6355 <i class="dy-play-icon fas fa-play"></i> 6356 <span class="dy-play-text">Ecouter</span> 6357 </button> 6358 </div> 6359 </div> 6360 <div id="dy-card-6" class="dy-station-card" data-index="6" onclick="dyRadio.playStation(6, event)"> 6361 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_elvis_presley_background-copie.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6362 6363 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(155, 0, 0, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6364 6365 <div class="dy-cover-container"> 6366 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ELVIS-PRESLEY.jpg" alt="Logo"> 6367 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ELVIS-PRESLEY.jpg" alt="Cover"> 6368 </div> 6369 <div class="dy-station-card-info"> 6370 <div class="dy-station-name">Elvis Presley</div> 6371 <div class="dy-station-artist dy-station-artist-6">Chargement...</div> 6372 <div class="dy-station-title dy-station-title-6">Veuillez patienter...</div> 6373 <button class="dy-play-btn"> 6374 <i class="dy-play-icon fas fa-play"></i> 6375 <span class="dy-play-text">Ecouter</span> 6376 </button> 6377 </div> 6378 </div> 6379 <div id="dy-card-7" class="dy-station-card" data-index="7" onclick="dyRadio.playStation(7, event)"> 6380 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_frank_sinatra_background.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6381 6382 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(31, 28, 141, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6383 6384 <div class="dy-cover-container"> 6385 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRANK-SINATRA.jpg" alt="Logo"> 6386 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRANK-SINATRA.jpg" alt="Cover"> 6387 </div> 6388 <div class="dy-station-card-info"> 6389 <div class="dy-station-name">Frank Sinatra</div> 6390 <div class="dy-station-artist dy-station-artist-7">Chargement...</div> 6391 <div class="dy-station-title dy-station-title-7">Veuillez patienter...</div> 6392 <button class="dy-play-btn"> 6393 <i class="dy-play-icon fas fa-play"></i>
6394 <span class="dy-play-text">Ecouter</span> 6395 </button> 6396 </div> 6397 </div> 6398 <div id="dy-card-8" class="dy-station-card" data-index="8" onclick="dyRadio.playStation(8, event)"> 6399 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_frenchy_background.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6400 6401 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(55, 71, 164, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6402 6403 <div class="dy-cover-container"> 6404 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRENCHY.jpg" alt="Logo"> 6405 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-FRENCHY.jpg" alt="Cover"> 6406 </div> 6407 <div class="dy-station-card-info"> 6408 <div class="dy-station-name">Frenchy</div> 6409 <div class="dy-station-artist dy-station-artist-8">Chargement...</div> 6410 <div class="dy-station-title dy-station-title-8">Veuillez patienter...</div> 6411 <button class="dy-play-btn"> 6412 <i class="dy-play-icon fas fa-play"></i> 6413 <span class="dy-play-text">Ecouter</span> 6414 </button> 6415 </div> 6416 </div> 6417 <div id="dy-card-9" class="dy-station-card" data-index="9" onclick="dyRadio.playStation(9, event)"> 6418 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_barry_white_gentlemen_drivers_background.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6419 6420 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(160, 90, 0, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6421 6422 <div class="dy-cover-container"> 6423 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-GENTLEMEN-DRIVERS.jpg" alt="Logo"> 6424 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-GENTLEMEN-DRIVERS.jpg" alt="Cover"> 6425 </div> 6426 <div class="dy-station-card-info"> 6427 <div class="dy-station-name">Gentlemen Drivers</div> 6428 <div class="dy-station-artist dy-station-artist-9">Chargement...</div> 6429 <div class="dy-station-title dy-station-title-9">Veuillez patienter...</div> 6430 <button class="dy-play-btn"> 6431 <i class="dy-play-icon fas fa-play"></i> 6432 <span class="dy-play-text">Ecouter</span> 6433 </button> 6434 </div> 6435 </div> 6436 <div id="dy-card-10" class="dy-station-card" data-index="10" onclick="dyRadio.playStation(10, event)"> 6437 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_italiano_luis_prima_background.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6438 6439 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(45, 115, 43, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6440 6441 <div class="dy-cover-container"> 6442 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ITALIANO.jpg" alt="Logo"> 6443 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ITALIANO.jpg" alt="Cover"> 6444 </div> 6445 <div class="dy-station-card-info"> 6446 <div class="dy-station-name">Italiano</div> 6447 <div class="dy-station-artist dy-station-artist-10">Chargement...</div> 6448 <div class="dy-station-title dy-station-title-10">Veuillez patienter...</div> 6449 <button class="dy-play-btn"> 6450 <i class="dy-play-icon fas fa-play"></i>
6451 <span class="dy-play-text">Ecouter</span> 6452 </button> 6453 </div> 6454 </div> 6455 <div id="dy-card-11" class="dy-station-card" data-index="11" onclick="dyRadio.playStation(11, event)"> 6456 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_julio_iglesias_background_v2.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6457 6458 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(173, 46, 0, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6459 6460 <div class="dy-cover-container"> 6461 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-JULIO-IGLESIAS.jpg" alt="Logo"> 6462 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-JULIO-IGLESIAS.jpg" alt="Cover"> 6463 </div> 6464 <div class="dy-station-card-info"> 6465 <div class="dy-station-name">Julio Iglesias</div> 6466 <div class="dy-station-artist dy-station-artist-11">Chargement...</div> 6467 <div class="dy-station-title dy-station-title-11">Veuillez patienter...</div> 6468 <button class="dy-play-btn"> 6469 <i class="dy-play-icon fas fa-play"></i> 6470 <span class="dy-play-text">Ecouter</span> 6471 </button> 6472 </div> 6473 </div> 6474 <div id="dy-card-12" class="dy-station-card" data-index="12" onclick="dyRadio.playStation(12, event)"> 6475 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_legend_billie_holiday_background.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6476 6477 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(183, 104, 0, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6478 6479 <div class="dy-cover-container"> 6480 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LEGENDS.jpg" alt="Logo"> 6481 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LEGENDS.jpg" alt="Cover"> 6482 </div> 6483 <div class="dy-station-card-info"> 6484 <div class="dy-station-name">Legends</div> 6485 <div class="dy-station-artist dy-station-artist-12">Chargement...</div> 6486 <div class="dy-station-title dy-station-title-12">Veuillez patienter...</div> 6487 <button class="dy-play-btn"> 6488 <i class="dy-play-icon fas fa-play"></i> 6489 <span class="dy-play-text">Ecouter</span> 6490 </button> 6491 </div> 6492 </div> 6493 <div id="dy-card-13" class="dy-station-card" data-index="13" onclick="dyRadio.playStation(13, event)"> 6494 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_lounge_background_v2026.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6495 6496 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(45, 84, 169, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6497 6498 <div class="dy-cover-container"> 6499 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOUNGE.jpg" alt="Logo"> 6500 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOUNGE.jpg" alt="Cover"> 6501 </div> 6502 <div class="dy-station-card-info"> 6503 <div class="dy-station-name">Lounge</div> 6504 <div class="dy-station-artist dy-station-artist-13">Chargement...</div> 6505 <div class="dy-station-title dy-station-title-13">Veuillez patienter...</div> 6506 <button class="dy-play-btn"> 6507 <i class="dy-play-icon fas fa-play"></i>
6508 <span class="dy-play-text">Ecouter</span> 6509 </button> 6510 </div> 6511 </div> 6512 <div id="dy-card-14" class="dy-station-card" data-index="14" onclick="dyRadio.playStation(14, event)"> 6513 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_love_background_v2_2026.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6514 6515 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(125, 39, 131, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6516 6517 <div class="dy-cover-container"> 6518 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOVE.jpg" alt="Logo"> 6519 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-LOVE.jpg" alt="Cover"> 6520 </div> 6521 <div class="dy-station-card-info"> 6522 <div class="dy-station-name">Love</div> 6523 <div class="dy-station-artist dy-station-artist-14">Chargement...</div> 6524 <div class="dy-station-title dy-station-title-14">Veuillez patienter...</div> 6525 <button class="dy-play-btn"> 6526 <i class="dy-play-icon fas fa-play"></i> 6527 <span class="dy-play-text">Ecouter</span> 6528 </button> 6529 </div> 6530 </div> 6531 <div id="dy-card-15" class="dy-station-card" data-index="15" onclick="dyRadio.playStation(15, event)"> 6532 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_michael_buble_background.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6533 6534 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(36, 114, 102, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6535 6536 <div class="dy-cover-container"> 6537 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MICHAEL-BUBLE.jpg" alt="Logo"> 6538 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MICHAEL-BUBLE.jpg" alt="Cover"> 6539 </div> 6540 <div class="dy-station-card-info"> 6541 <div class="dy-station-name">Michael Bublé</div> 6542 <div class="dy-station-artist dy-station-artist-15">Chargement...</div> 6543 <div class="dy-station-title dy-station-title-15">Veuillez patienter...</div> 6544 <button class="dy-play-btn"> 6545 <i class="dy-play-icon fas fa-play"></i> 6546 <span class="dy-play-text">Ecouter</span> 6547 </button> 6548 </div> 6549 </div> 6550 <div id="dy-card-16" class="dy-station-card" data-index="16" onclick="dyRadio.playStation(16, event)"> 6551 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_lalo_schifrin_movies_background-copie.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6552 6553 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(187, 123, 42, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6554 6555 <div class="dy-cover-container"> 6556 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MOVIES.jpg" alt="Logo"> 6557 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-MOVIES.jpg" alt="Cover"> 6558 </div> 6559 <div class="dy-station-card-info"> 6560 <div class="dy-station-name">Movies</div> 6561 <div class="dy-station-artist dy-station-artist-16">Chargement...</div> 6562 <div class="dy-station-title dy-station-title-16">Veuillez patienter...</div> 6563 <button class="dy-play-btn"> 6564 <i class="dy-play-icon fas fa-play"></i>
6565 <span class="dy-play-text">Ecouter</span> 6566 </button> 6567 </div> 6568 </div> 6569 <div id="dy-card-17" class="dy-station-card" data-index="17" onclick="dyRadio.playStation(17, event)"> 6570 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_premium_nat_king_cole_background-copie.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6571 6572 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(154, 109, 86, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6573 6574 <div class="dy-cover-container"> 6575 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-PREMIUM.jpg" alt="Logo"> 6576 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-PREMIUM.jpg" alt="Cover"> 6577 </div> 6578 <div class="dy-station-card-info"> 6579 <div class="dy-station-name">Premium</div> 6580 <div class="dy-station-artist dy-station-artist-17">Chargement...</div> 6581 <div class="dy-station-title dy-station-title-17">Veuillez patienter...</div> 6582 <button class="dy-play-btn"> 6583 <i class="dy-play-icon fas fa-play"></i> 6584 <span class="dy-play-text">Ecouter</span> 6585 </button> 6586 </div> 6587 </div> 6588 <div id="dy-card-18" class="dy-station-card" data-index="18" onclick="dyRadio.playStation(18, event)"> 6589 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_swing_background-copie2.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6590 6591 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(83, 41, 142, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6592 6593 <div class="dy-cover-container"> 6594 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SWING.jpg" alt="Logo"> 6595 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SWING.jpg" alt="Cover"> 6596 </div> 6597 <div class="dy-station-card-info"> 6598 <div class="dy-station-name">Swing</div> 6599 <div class="dy-station-artist dy-station-artist-18">Chargement...</div> 6600 <div class="dy-station-title dy-station-title-18">Veuillez patienter...</div> 6601 <button class="dy-play-btn"> 6602 <i class="dy-play-icon fas fa-play"></i> 6603 <span class="dy-play-text">Ecouter</span> 6604 </button> 6605 </div> 6606 </div> 6607 <div id="dy-card-19" class="dy-station-card" data-index="19" onclick="dyRadio.playStation(19, event)"> 6608 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_summer_background_v2-copie.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6609 6610 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(195, 55, 83, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6611 6612 <div class="dy-cover-container"> 6613 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SUMMER.jpg" alt="Logo"> 6614 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-SUMMER.jpg" alt="Cover"> 6615 </div> 6616 <div class="dy-station-card-info"> 6617 <div class="dy-station-name">Summer</div> 6618 <div class="dy-station-artist dy-station-artist-19">Chargement...</div> 6619 <div class="dy-station-title dy-station-title-19">Veuillez patienter...</div> 6620 <button class="dy-play-btn"> 6621 <i class="dy-play-icon fas fa-play"></i>
6622 <span class="dy-play-text">Ecouter</span> 6623 </button> 6624 </div> 6625 </div> 6626 <div id="dy-card-20" class="dy-station-card" data-index="20" onclick="dyRadio.playStation(20, event)"> 6627 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_zen_background.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6628 6629 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(48, 120, 54, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6630 6631 <div class="dy-cover-container"> 6632 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ZEN.jpg" alt="Logo"> 6633 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-ZEN.jpg" alt="Cover"> 6634 </div> 6635 <div class="dy-station-card-info"> 6636 <div class="dy-station-name">Zen</div> 6637 <div class="dy-station-artist dy-station-artist-20">Chargement...</div> 6638 <div class="dy-station-title dy-station-title-20">Veuillez patienter...</div> 6639 <button class="dy-play-btn"> 6640 <i class="dy-play-icon fas fa-play"></i> 6641 <span class="dy-play-text">Ecouter</span> 6642 </button> 6643 </div> 6644 </div> 6645 <div id="dy-card-21" class="dy-station-card" data-index="21" onclick="dyRadio.playStation(21, event)"> 6646 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_christmas_background.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6647 6648 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(180, 0, 0, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6649 6650 <div class="dy-cover-container"> 6651 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS.jpg" alt="Logo"> 6652 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS.jpg" alt="Cover"> 6653 </div> 6654 <div class="dy-station-card-info"> 6655 <div class="dy-station-name">Christmas</div> 6656 <div class="dy-station-artist dy-station-artist-21">Chargement...</div> 6657 <div class="dy-station-title dy-station-title-21">Veuillez patienter...</div> 6658 <button class="dy-play-btn"> 6659 <i class="dy-play-icon fas fa-play"></i> 6660 <span class="dy-play-text">Ecouter</span> 6661 </button> 6662 </div> 6663 </div> 6664 <div id="dy-card-22" class="dy-station-card" data-index="22" onclick="dyRadio.playStation(22, event)"> 6665 <div class="dy-card-bg" style="background-image: url('https://www.croonerradio.fr/wp-content/uploads/2026/05/station_crooner_radio_christmas_vintage_background-v2.webp'); filter: blur(4px) brightness(0.8) grayscale(100%); transform: scale(1.1); opacity: 0.2 !important;"></div> 6666 6667 <div class="dy-card-overlay dy-special-grad" style="background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(122, 0, 0, 0.7) 100%); opacity: 0.5 !important; position: absolute; inset: 0; z-index: 1;"></div> 6668 6669 <div class="dy-cover-container"> 6670 <img decoding="async" class="dy-station-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS-VINTAGE.jpg" alt="Logo"> 6671 <img decoding="async" class="dy-station-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-WR-CHRISTMAS-VINTAGE.jpg" alt="Cover"> 6672 </div> 6673 <div class="dy-station-card-info"> 6674 <div class="dy-station-name">Christmas Vintage</div> 6675 <div class="dy-station-artist dy-station-artist-22">Chargement...</div> 6676 <div class="dy-station-title dy-station-title-22">Veuillez patienter...</div> 6677 <button class="dy-play-btn"> 6678 <i class="dy-play-icon fas fa-play"></i>
6679 <span class="dy-play-text">Ecouter</span> 6680 </button> 6681 </div> 6682 </div> 6683 </div> 6684 <div class="dy-carousel-mouse-hint" style="text-align: center; font-size: 11px; opacity: 0.6; margin-top: 10px; color: #fff;"> 6685 <i class="fas fa-mouse"></i> Utilisez la molette de la souris pour faire défiler les stations </div> 6686 </div> 6687</div></div></div></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-3-6 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-medium-visibility fusion-no-large-visibility" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:3%;--awb-padding-bottom:0px;--awb-padding-left:3%;--awb-padding-right-small:3%;--awb-padding-left-small:3%;--awb-margin-top:0px;--awb-margin-bottom:3%;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-28 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-14 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color3);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:24px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;">Actualités</div></div><div class="fusion-blog-shortcode fusion-blog-shortcode-4 fusion-blog-archive fusion-blog-layout-grid-wrapper fusion-blog-no" style="--grid_separator_color:rgba(255,255,255,0);"><style type="text/css">.fusion-blog-shortcode-4 .fusion-blog-layout-grid .fusion-post-grid{padding:10px;}.fusion-blog-shortcode-4 .fusion-posts-container{margin-left: -10px !important; margin-right:-10px !important;}</style><div class="fusion-posts-container fusion-posts-container-no fusion-no-meta-info fusion-blog-rollover fusion-blog-layout-grid fusion-blog-layout-grid-1 isotope fusion-blog-equal-heights" data-pages="143" data-grid-col-space="20" style="margin: -10px -10px 0;min-height:500px;"><article id="blog-4-post-55927" class="fusion-post-grid post-55927 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 6688<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 6689 6690 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 6691 <ul class="slides"> 6692 6693 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 6694 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-française-crooner-radio" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-sienna-spiro-icone-diva-neo-60-pop-symphonique-modern-soul-chanteuse-francaise-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100v
6694w, (min-width: 640px) 1675px, " /><div class="fusion-rollover"> 6695 <div class="fusion-rollover-content"> 6696 6697 6698 6699 6700 6701 6702 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-07-28-sienna-spiro-pop-symphonique-soul-vintage-esthetique-neo-1960/" aria-label="Sienna Spiro la nouvelle star mondiale néo 60âs"></a> 6703 </div> 6704</div> 6705</div> 6706</li> 6707 6708 6709 </ul> 6710 </div> 6711 <div class="fusion-post-content-wrapper" style="padding:0px 0px 0px 0px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-07-28-sienna-spiro-pop-symphonique-soul-vintage-esthetique-neo-1960/">Sienna Spiro la nouvelle star mondiale néo 60âs</a></div></div></div><div class="fusion-clearfix"></div></div> 6712</article> 6713<article id="blog-4-post-55924" class="fusion-post-grid post-55924 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 6714<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 6715 6716 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 6717 <ul class="slides"> 6718 6719 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 6720 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/07/2026-07-27-img-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 640px) 1675px, " /><div class="fusion-rollover"> 6721 <div class="fusion-rollover-content"> 6722 6723 6724 6725 6726 6727 6728 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-07-27-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h/" aria-label="Un été des belles années 60/70 pour garder la crooner attitude"></a> 6729 </div> 6730</div> 6731</div> 6732</li> 6733 6734 6735 </ul> 6736 </div> 6737 <div class="fusion-post-content-wrapper" style="padding:0px 0px 0px 0px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-07-27-ete-crooner-attitude-summer-1960-sixties-brigitte-bardot-don-draper-john-hamm-cocktail-party-lounge-18h-20h/">Un été des belles années 60/70 pour garder la crooner attitude</a></div></div></div><div class="fusion-clearfix"></div></div> 6738</article> 6739<article id="blog-4-post-52117" class="fusion-post-grid post-52117 post type-post status-publish format-standard has-post-thumbnail hentry category-top-actu"> 6740<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 6741 6742 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 6743 <ul class="slides"> 6744 6745 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 6746 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin.webp" class="attachment-full size-full wp-post-image" alt="2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin" srcset="https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-600x357.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin-800x476.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2025/06/2025-06-21-img-fete-de-la-musique-2025-ou-sortir-a-paris-club-jazz-swing-dance-diner-samedi-21-juin.webp 900w" sizes="(min-width: 2200px) 100v
6746w, (min-width: 640px) 1675px, " /><div class="fusion-rollover"> 6747 <div class="fusion-rollover-content"> 6748 6749 6750 6751 6752 6753 6754 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-18-fete-de-la-musique-2026-ou-sortir-a-paris-club-jazz-swing-dance-diner-dimanche-21-juin/" aria-label="Où sortir à Paris pour la fête de la musique le 21 Juin 2026 ?"></a> 6755 </div> 6756</div> 6757</div> 6758</li> 6759 6760 6761 </ul> 6762 </div> 6763 <div class="fusion-post-content-wrapper" style="padding:0px 0px 0px 0px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-18-fete-de-la-musique-2026-ou-sortir-a-paris-club-jazz-swing-dance-diner-dimanche-21-juin/">Où sortir à Paris pour la fête de la musique le 21 Juin 2026 ?</a></div></div></div><div class="fusion-clearfix"></div></div> 6764</article> 6765<div class="fusion-clearfix"></div></div></div><div class="fusion-title title fusion-title-15 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color3);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:24px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;">Derniers Podcasts</div></div><div class="fusion-blog-shortcode fusion-blog-shortcode-5 fusion-blog-archive fusion-blog-layout-grid-wrapper fusion-blog-no" style="--grid_separator_color:rgba(255,255,255,0);"><style type="text/css">.fusion-blog-shortcode-5 .fusion-blog-layout-grid .fusion-post-grid{padding:10px;}.fusion-blog-shortcode-5 .fusion-posts-container{margin-left: -10px !important; margin-right:-10px !important;}</style><div class="fusion-posts-container fusion-posts-container-no fusion-no-meta-info fusion-blog-rollover fusion-blog-layout-grid fusion-blog-layout-grid-1 isotope fusion-blog-equal-heights" data-pages="44" data-grid-col-space="20" style="margin: -10px -10px 0;min-height:500px;"><article id="blog-5-post-55944" class="fusion-post-grid post-55944 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 6766<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 6767 6768 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 6769 <ul class="slides"> 6770 6771 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 6772 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidence
6772s-souvenirs-crooner-and-friends-emission-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Portrait de la chanteuse Liane Foly vêtue d'une veste noire en velours, le regard posé vers l'objectif." srcset="https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/09/2026-09-21-img-interview-liane-foly-portrait-la-droguerie-du-sourire-confidences-souvenirs-crooner-and-friends-emission-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 640px) 1675px, " /><div class="fusion-rollover"> 6773 <div class="fusion-rollover-content"> 6774 6775 6776 6777 6778 6779 6780 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/" aria-label="Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »"></a> 6781 </div> 6782</div> 6783</div> 6784</li> 6785 6786 6787 </ul> 6788 </div> 6789 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-09-21-liane-foly-la-droguerie-du-sourire-livre-autobiographie-souvenirs-carriere-crooneuse/">Liane Foly confie ses souvenirs dans « La Droguerie du Sourire »</a></div></div></div><div class="fusion-clearfix"></div></div> 6790</article> 6791<article id="blog-5-post-55908" class="fusion-post-grid post-55908 post type-post status-publish format-standard has-post-thumbnail hentry category-crooner-and-friends category-podcast-emission category-top-actu category-top-podcasts"> 6792<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 6793 6794 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 6795 <ul class="slides"> 6796 6797 <li><div class="fusion-image-wrapper" aria-haspopup="true"> 6798 <img decoding="async" width="900" height="535" src="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="Les Puppini Sisters en interview sur Crooner Radio dans l'emission Crooner And Friends" srcset="https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2026/06/2026-06-22-img-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour-crooner-and-friends-crooner-radio.webp 900w" sizes="(min-width: 2200px) 100vw, (min-width: 640px) 1675px, " /><div class="fusion-rollover"> 6799 <div class="fusion-rollover-content"> 6800 6801 6802 6803 6804 6805 6806 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-22-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour/" aria-label="Interview | Les Puppini Sisters célèbrent 20 ans de charme et de swing"></a> 6807 </div> 6808</div> 6809</div> 6810</li> 6811 6812 6813 </ul> 6814 </div> 6815 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-22-puppini-sisters-interview-portrait-anniversaire-20-ans-carriere-the-birthday-party-album-harmonie-trio-vocal-jazz-swing-burlesque-vintage-glamour/">Interview | Les Puppini Sisters célèbrent 20 ans de charme et de swing</a></div></div></div><div class="fusion-clearfix"></div></div> 6816</article> 6817<article id="blog-5-post-38282" class="fusion-post-grid post-38282 post type-post status-publish format-standard has-post-thumbnail hentry category-artistes category-chanteur category-crooner-and-friends category-emission category-musique category-personnalites category-podcast-emission category-top-actu category-top-podcasts"> 6818<div class="fusion-post-wrapper" style="background-color:var(--awb-custom_color_6);border:none;"> 6819 6820 <div class="fusion-flexslider flexslider fusion-flexslider-loading fusion-post-slideshow" style="border-color:rgba(0,0,0,0);"> 6821 <ul class="slides"> 6822 6823 <li><div class="fusion-image-wrapper" aria-haspopup="true">
6824 <img decoding="async" width="773" height="459" src="https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio.webp" class="attachment-full size-full wp-post-image" alt="2021-12-13-françoise-hardy-interview-chanteuse-crooner-radio" srcset="https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio-200x119.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio-400x238.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio-600x356.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2021/12/2021-12-13-francoise-hardy-interview-chanteuse-crooner-radio.webp 773w" sizes="(min-width: 2200px) 100vw, (min-width: 640px) 1675px, " /><div class="fusion-rollover"> 6825 <div class="fusion-rollover-content"> 6826 6827 6828 6829 6830 6831 6832 <a class="fusion-link-wrapper" href="https://www.croonerradio.fr/actualites/2026-06-09-francoise-hardy-une-artiste-amoureuse-de-la-famille-et-des-grandes-voix-internationales/" aria-label="Françoise Hardy, une artiste amoureuse de la famille et des grandes voix internationales"></a> 6833 </div> 6834</div> 6835</div> 6836</li> 6837 6838 6839 </ul> 6840 </div> 6841 <div class="fusion-post-content-wrapper" style="padding:30px 25px 25px 25px;"><div class="fusion-post-content post-content"><div class="blog-shortcode-post-title entry-title"><a href="https://www.croonerradio.fr/actualites/2026-06-09-francoise-hardy-une-artiste-amoureuse-de-la-famille-et-des-grandes-voix-internationales/">Françoise Hardy, une artiste amoureuse de la famille et des grandes voix internationales</a></div></div></div><div class="fusion-clearfix"></div></div> 6842</article> 6843<div class="fusion-clearfix"></div></div></div></div></div></div></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-3-7 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-small-visibility" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-margin-top:0px;--awb-margin-bottom:2%;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-29 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-16 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color3);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:24px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;">Podcasts</div></div><div class="fusion-image-carousel fusion-image-carousel-auto fusion-image-carousel-1" style="margin-bottom:1%;"><div class="awb-carousel awb-swiper awb-swiper-carousel awb-carousel--carousel awb-swiper-dots-position-bottom" data-layout="carousel" data-autoplay="no" data-autoplayspeed="4000" data-autoplaypause="no" data-loop="yes" data-columns="4" data-columnsmedium="1" data-columnssmall="
68431" data-itemmargin="30" data-itemwidth="180" data-touchscroll="no" data-freemode="no" data-imagesize="auto" data-scrollitems="0" data-scrollitems-medium="0" data-scrollitems-small="0" data-centeredslides="no" data-rotationangle="50" data-depth="100" data-speed="500" data-shadow="no" data-pagination="bullets" style="--awb-columns:4;--awb-column-spacing:30px;--awb-dots-align:center;"><div class="swiper-wrapper awb-image-carousel-wrapper fusion-flex-align-items-center"><div class="swiper-slide"><div class="fusion-carousel-item-wrapper"><div class="fusion-image-wrapper hover-type-liftup"><a href="https://www.croonerradio.fr/podcasts/crooner-and-friends/" target="_self"><img decoding="async" width="1500" height="1500" src="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends.webp" class="attachment-full size-full" alt="Logo officiel du podcast Crooner And Friends" srcset="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-200x200.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-400x400.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-600x600.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-800x800.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends-1200x1200.webp 1200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Crooner-and-Friends.webp 1500w" sizes="(min-width: 2200px) 100vw, (min-width: 856px) 396px, (min-width: 784px) 528px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /></a></div></div></div><div class="swiper-slide"><div class="fusion-carousel-item-wrapper"><div class="fusion-image-wrapper hover-type-liftup"><a href="https://www.croonerradio.fr/podcasts/la-minute-crooner-attitude/" target="_self"><img decoding="async" width="1500" height="1500" src="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET.webp" class="attachment-full size-full" alt="2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET" srcset="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-200x200.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-400x400.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-600x600.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-800x800.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET-1200x1200.webp 1200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-La-Minute-Crooner-Attitude-Jean-Baptiste-TUZET.webp 1500w" sizes="(min-width: 2200px) 100vw, (min-width: 856px) 396px, (min-width: 784px) 528px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /></a></div></div></div><div class="swiper-slide"><div class="fusion-carousel-item-wrapper"><div class="fusion-image-wrapper hover-type-liftup"><a href="https://www.croonerradio.fr/podcasts/media-inside-actualite-des-medias/" target="_self"><img decoding="async" width="1500" height="1500" src="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1.webp" class="attachment-full size-full" alt="Logo officiel du podcast Media Inside de Terence De Rieu" srcset="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-200x200.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-400x400.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-600x600.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-800x800.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1-1200x1200.webp 1200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Media-Inside-Terence-Derieu-1.webp 1500w" sizes="(min-width: 2200px) 100v
6843w, (min-width: 856px) 396px, (min-width: 784px) 528px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /></a></div></div></div><div class="swiper-slide"><div class="fusion-carousel-item-wrapper"><div class="fusion-image-wrapper hover-type-liftup"><a href="https://www.croonerradio.fr/podcasts/crooner-gentlemen-drivers/" target="_self"><img decoding="async" width="1500" height="1500" src="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers.webp" class="attachment-full size-full" alt="" srcset="https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-200x200.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-400x400.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-600x600.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-800x800.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers-1200x1200.webp 1200w, https://www.croonerradio.fr/wp-content/uploads/2024/02/2024-Podcast-Gentlemen-Drivers.webp 1500w" sizes="(min-width: 2200px) 100vw, (min-width: 856px) 396px, (min-width: 784px) 528px, (min-width: 712px) 784px, (min-width: 640px) 712px, " /></a></div></div></div></div></div></div><div class="fusion-title title fusion-title-17 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color3);--awb-margin-top:0px;--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:24px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:600;margin:0;font-size:1em;">Nos derniers podcasts</div></div> <style> 6844 .dy-podcast-search-wrap { 6845 margin: 30px auto 40px auto; 6846 position: relative; 6847 width: 100%; 6848 max-width: 1200px; 6849 display: flex; 6850 align-items: center; 6851 justify-content: center; 6852 gap: 15px; 6853 } 6854 6855 @media (max-width: 800px) { 6856 .dy-podcast-search-wrap { 6857 max-width: 100%; 6858 width: 100%; 6859 } 6860 } 6861 6862 .dy-podcast-search-input::placeholder { 6863 color: rgba(23, 23, 23, 0.4); 6864 } 6865 6866 .dy-podcast-search-input { 6867 flex: 1; 6868 padding: 30px 30px; 6869 border-radius: 50px; 6870 border: 1px solid rgba(190, 190, 190, 1); 6871 background: rgba(255, 255, 255, 1); 6872 color: #fff; 6873 font-size: 18px; 6874 outline: none; 6875 transition: all 0.3s ease; 6876 box-sizing: border-box; 6877 text-align: left; 6878 } 6879 6880 .dy-podcast-search-input:focus { 6881 background: rgba(255, 255, 255, 0.95); 6882 border-color: #ffffff; 6883 box-shadow: 0 0 20px rgba(255,255,255,0.3); 6884 color: #1d1d1d; 6885 } 6886 6887 .dy-podcast-search-wrap i { 6888 color: #a08053; 6889 font-size: 24px; 6890 pointer-events: none; 6891 transition: all 0.3s ease; 6892 opacity: 0.9; 6893 } 6894 6895 .dy-podcast-search-input:focus~i { 6896 color: #981a1aff; 6897 opacity: 1; 6898 } 6899 6900 .dy-podcast-search-tags { 6901 display: flex; 6902 flex-wrap: wrap; 6903 justify-content: center; 6904 gap: 10px; 6905 margin: -20px auto 30px auto; 6906 width: 100%; 6907 max-width: 100%; 6908 } 6909 6910 .dy-search-tag { 6911 padding: 6px 15px; 6912 background: rgba(255, 255, 255, 0.05); 6913 border: 1px solid rgba(255, 255, 255, 0.1); 6914 border-radius: 20px; 6915 font-size: 13px; 6916 color: #a08053; 6917 cursor: pointer; 6918 transition: all 0.3s ease; 6919 } 6920 6921 .dy-search-tag:hover { 6922 background: rgba(255, 255, 255, 0.15); 6923 color: #fff; 6924 border-color: #ffffff; 6925 transform: translateY(-1px); 6926 } 6927 6928 .dy-podcast-list .dy-podcast-item.dy-search-hidden { 6929 display: none !important; 6930 } 6931 6932 .dy-podcast-items-container { 6933 display: flex; 6934 flex-direction: column; 6935 gap: 10px; 6936 } 6937 </style> 6938
6938<script> 6939 (function() { 6940 const syncEpisodes = () => { 6941 if (window.dyRadio) { 6942 window.dyRadio.currentEpisodes = [{"title":"Liane Foly : Une artiste sinc\u00e8re amour, et en amiti\u00e9","date":"2026-09-24","url":"https:\/\/audio.ausha.co\/B6rdnSPZvA6z.mp3?t=1790086536","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790230500,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Pif Gadget : le grand retour du magazine culte de notre enfance","date":"2026-09-23","url":"https:\/\/audio.ausha.co\/oZR9sm3VY80o.mp3?t=1790182585","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1790147700,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Liane Foly : Le cin\u00e9ma, des projets secrets, le showbiz et une chanson surprise","date":"2026-09-23","url":"https:\/\/audio.ausha.co\/b3PNRtG3OZ56.mp3?t=1790071941","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790144100,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Warnamount : Des Fausses promesses pour un jackpot...","date":"2026-09-23","url":"https:\/\/audio.ausha.co\/B10nQFEKqje2.mp3?t=1790157409","image":"https:\/\/image.ausha.co\/AfiFD6i75Bftw5BI1PefoaoQ0M3flhU7rlZhTGWi_1400x1400.jpeg?t=1707314431","author":"Media Inside","pub_time":1790142300,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/media-inside-actualite-des-medias\/"},{"title":"Liane Foly : Peut-on sauver la chanson fran\u00e7aise ? Transmission, souvenirs et grands standards","date":"2026-09-22","url":"https:\/\/audio.ausha.co\/ygdRMHD3gzjr.mp3?t=1790069214","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790057700,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly confie ses souvenirs dans \u00ab La Droguerie du sourire \u00bb sur Crooner Radio","date":"2026-09-21","url":"https:\/\/audio.ausha.co\/oKwO3H8D4VWl.mp3?t=1790069719","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789971300,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Comment La La Land et TikTok ont sauv\u00e9 le Caveau de la Huchette pour un renouveau du swing !","date":"2026-09-20","url":"https:\/\/audio.ausha.co\/ypZ8fgx2l31B.mp3?t=1790159096","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1789888500,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Philippe Katerine : Ses plaisirs inavouables du dimanche","date":"2026-09-18","url":"https:\/\/audio.ausha.co\/ykkzRsVYqPDL.mp3?t=1789739748","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789712100,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Philippe Katerine : Une famille d'artiste et un d\u00e9sir de vivre dans les ann\u00e9es folles","date":"2026-09-17","url":"https:\/\/audio.ausha.co\/omXzjs0Od904.mp3?t=1651590669","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789625700,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"La Publicit\u00e9 TV en France \u00e0 l'agonie ?","date":"2026-09-16","url":"https:\/\/audio.ausha.co\/b7zweCVaVR3K.mp3?t=1789561910","image":"https:\/\/image.ausha.co\/AfiFD6i75Bftw5BI1PefoaoQ0M3flhU7rlZhTGWi_1400x1400.jpeg?t=1707314431","author":"Media Inside","pub_time":1789561949,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/media-inside-actualite-des-medias\/"},{"title":"Liane Foly se raconte dans \"La Droguerie Du Sourire\"","date":"2026-09-16","url":"https:\/\/audio.ausha.co\/od0ptKplxQ4o.mp3?t=1790157997","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1789542900,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Philippe Katerine sur Crooner Radio : coulisses, cr\u00e9ation et souvenirs de famille","date":"2026-09-16","url":"https:\/\/audio.ausha.co\/bjeZXIXq1ZPk.mp3?t=1789635402","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789539300,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Roberto Colletta nous donne sa vision du romantisme dans le le single \u00ab Reste un peu \u00bb","date":"2026-09-15","url":"https:\/\/audio.ausha.co\/BnZwfLg7PYWB.mp3?t=1789470167","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1789470765,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Philippe Katerine : Qui est Philippe Katerine ?","date":"2026-09-15","url":"https:\/\/audio.ausha.co\/b5rxjSkGkPw0.mp3?t=1789465434","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789452900,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Les Mashup de Crooner Radio","date":"2026-09-14","url":"https:\/\/audio.ausha.co\/yggLiqXWX3Ey.mp3?t=1789467660","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1789370100,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Philippe Katerine : Est-il un acteur, chanteur engag\u00e9 ?","date":"2026-09-14","url":"https:\/\/audio.ausha.co\/yvpvdHdjxa53.mp3?t=1789465259","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789366500,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Larrat en concert \u00e0 La Sc\u00e8ne Parisienne : d\u00e9couvrez l'album d'un crooner r\u00e9invent\u00e9","date":"2026-09-11","url":"https:\/\/audio.ausha.co\/Bqx8hd5xlqKb.mp3?t=1789035803","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1789110900,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Stevie Wonder en concert \u00e0 l'Accor Arena de Paris : le retour d'une l\u00e9gende soul et pop","date":"2026-09-10","url":"https:\/\/audio.ausha.co\/BNepUA50YQrb.mp3?t=1789035744","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1789050819,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Salon Paris Passion A\u00e9ro : vivez l'aviation \u00e0 Toussus-le-Noble avec l'A\u00e9ro Touring Club","date":"2026-09-09","url":"https:\/\/audio.ausha.co\/yvV8uqxMdJry.mp3?t=1789035763","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1788938100,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Les 10 infos Media Inside Hors Cadre de L'\u00e9t\u00e9 2026","date":"2026-09-09","url":"https:\/\/audio.ausha.co\/b5rNgImGLmzP.mp3?t=1788948862","image":"https:\/\/image.ausha.co\/AfiFD6i75Bftw5BI1PefoaoQ0M3flhU7rlZhTGWi_1400x1400.jpeg?t=1707314431","author":"Media Inside","pub_time":1788932700,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/media-inside-actualite-des-medias\/"}]; 6943 if (typeof window.dyRadio.refreshUI === 'function') window.dyRadio.refreshUI();
6944 } 6945 }; 6946 if (document.readyState === 'loading') { 6947 window.addEventListener('DOMContentLoaded', syncEpisodes); 6948 } else { 6949 syncEpisodes(); 6950 } 6951 })(); 6952 </script>
6952 6953 <div class="dy-podcast-list has-search" 6954 data-load-init="5" 6955 data-load-next="5" 6956 data-share-wrap="40" 6957 data-episodes='[{"title":"Liane Foly : Une artiste sinc\u00e8re amour, et en amiti\u00e9","date":"2026-09-24","url":"https:\/\/audio.ausha.co\/B6rdnSPZvA6z.mp3?t=1790086536","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790230500,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Pif Gadget : le grand retour du magazine culte de notre enfance","date":"2026-09-23","url":"https:\/\/audio.ausha.co\/oZR9sm3VY80o.mp3?t=1790182585","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1790147700,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Liane Foly : Le cin\u00e9ma, des projets secrets, le showbiz et une chanson surprise","date":"2026-09-23","url":"https:\/\/audio.ausha.co\/b3PNRtG3OZ56.mp3?t=1790071941","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790144100,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Warnamount : Des Fausses promesses pour un jackpot...","date":"2026-09-23","url":"https:\/\/audio.ausha.co\/B10nQFEKqje2.mp3?t=1790157409","image":"https:\/\/image.ausha.co\/AfiFD6i75Bftw5BI1PefoaoQ0M3flhU7rlZhTGWi_1400x1400.jpeg?t=1707314431","author":"Media Inside","pub_time":1790142300,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/media-inside-actualite-des-medias\/"},{"title":"Liane Foly : Peut-on sauver la chanson fran\u00e7aise ? Transmission, souvenirs et grands standards","date":"2026-09-22","url":"https:\/\/audio.ausha.co\/ygdRMHD3gzjr.mp3?t=1790069214","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1790057700,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Liane Foly confie ses souvenirs dans \u00ab La Droguerie du sourire \u00bb sur Crooner Radio","date":"2026-09-21","url":"https:\/\/audio.ausha.co\/oKwO3H8D4VWl.mp3?t=1790069719","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789971300,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Comment La La Land et TikTok ont sauv\u00e9 le Caveau de la Huchette pour un renouveau du swing !","date":"2026-09-20","url":"https:\/\/audio.ausha.co\/ypZ8fgx2l31B.mp3?t=1790159096","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1789888500,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Philippe Katerine : Ses plaisirs inavouables du dimanche","date":"2026-09-18","url":"https:\/\/audio.ausha.co\/ykkzRsVYqPDL.mp3?t=1789739748","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789712100,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Philippe Katerine : Une famille d'artiste et un d\u00e9sir de vivre dans les ann\u00e9es folles","date":"2026-09-17","url":"https:\/\/audio.ausha.co\/omXzjs0Od904.mp3?t=1651590669","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789625700,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"La Publicit\u00e9 TV en France \u00e0 l'agonie ?","date":"2026-09-16","url":"https:\/\/audio.ausha.co\/b7zweCVaVR3K.mp3?t=1789561910","image":"https:\/\/image.ausha.co\/AfiFD6i75Bftw5BI1PefoaoQ0M3flhU7rlZhTGWi_1400x1400.jpeg?t=1707314431","author":"Media Inside","pub_time":1789561949,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/media-inside-actualite-des-medias\/"},{"title":"Liane Foly se raconte dans \"La Droguerie Du Sourire\"","date":"2026-09-16","url":"https:\/\/audio.ausha.co\/od0ptKplxQ4o.mp3?t=1790157997","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1789542900,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Philippe Katerine sur Crooner Radio : coulisses, cr\u00e9ation et souvenirs de famille","date":"2026-09-16","url":"https:\/\/audio.ausha.co\/bjeZXIXq1ZPk.mp3?t=1789635402","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789539300,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Roberto Colletta nous donne sa vision du romantisme dans le le single \u00ab Reste un peu \u00bb","date":"2026-09-15","url":"https:\/\/audio.ausha.co\/BnZwfLg7PYWB.mp3?t=1789470167","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1789470765,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Philippe Katerine : Qui est Philippe Katerine ?","date":"2026-09-15","url":"https:\/\/audio.ausha.co\/b5rxjSkGkPw0.mp3?t=1789465434","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789452900,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Les Mashup de Crooner Radio","date":"2026-09-14","url":"https:\/\/audio.ausha.co\/yggLiqXWX3Ey.mp3?t=1789467660","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1789370100,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Philippe Katerine : Est-il un acteur, chanteur engag\u00e9 ?","date":"2026-09-14","url":"https:\/\/audio.ausha.co\/yvpvdHdjxa53.mp3?t=1789465259","image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389","author":"Crooner and Friends","pub_time":1789366500,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/"},{"title":"Larrat en concert \u00e0 La Sc\u00e8ne Parisienne : d\u00e9couvrez l'album d'un crooner r\u00e9invent\u00e9","date":"2026-09-11","url":"https:\/\/audio.ausha.co\/Bqx8hd5xlqKb.mp3?t=1789035803","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1789110900,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Stevie Wonder en concert \u00e0 l'Accor Arena de Paris : le retour d'une l\u00e9gende soul et pop","date":"2026-09-10","url":"https:\/\/audio.ausha.co\/BNepUA50YQrb.mp3?t=1789035744","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1789050819,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Salon Paris Passion A\u00e9ro : vivez l'aviation \u00e0 Toussus-le-Noble avec l'A\u00e9ro Touring Club","date":"2026-09-09","url":"https:\/\/audio.ausha.co\/yvV8uqxMdJry.mp3?t=1789035763","image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412","author":"La Minute Crooner Attitude","pub_time":1788938100,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/"},{"title":"Les 10 infos Media Inside Hors Cadre de L'\u00e9t\u00e9 2026","date":"2026-09-09","url":"https:\/\/audio.ausha.co\/b5rNgImGLmzP.mp3?t=1788948862","image":"https:\/\/image.ausha.co\/AfiFD6i75Bftw5BI1PefoaoQ0M3flhU7rlZhTGWi_1400x1400.jpeg?t=1707314431","author":"Media Inside","pub_time":1788932700,"liaison_url":"https:\/\/www.croonerradio.fr\/podcasts\/media-inside-actualite-des-medias\/"}]' 6958 data-current-offset="5" 6959 data-skip="15" 6960 data-ep-title-size="15px" 6961 data-ep-title-color="#ffffff" 6962 data-ep-title-bold="1" 6963 data-share-ep-btn-bg="#a08053" 6964 data-share-ep-btn-color="#ffffff" 6965 data-fallback-rss="https://www.croonerradio.fr/datas/podcasts-rss/crooner-and-friends.xml" 6966 data-fallback-enable="1" 6967 data-download-enable="0"> 6968 6969 6970 <div class="dy-podcast-search-wrap"> 6971 <i class="fas fa-search"></i> 6972 <input type="text" class="dy-podcast-search-input" placeholder="Rechercher un épisode..." oninput="window.dyFilterPodcasts(this)"> 6973 </div> 6974 <div class="dy-podcast-search-tags">
6975 <span class="dy-search-tag" onclick="window.dyQuickSearch(this, '#Luc Ferry')"> 6976 #Luc Ferry </span> 6977 <span class="dy-search-tag" onclick="window.dyQuickSearch(this, '#Olivier Galzi')"> 6978 #Olivier Galzi </span> 6979 <span class="dy-search-tag" onclick="window.dyQuickSearch(this, '#Stella Cole')"> 6980 #Stella Cole </span> 6981 </div> 6982
6982<script> 6983 window.dyQuickSearch = function(el, val) { 6984 const wrap = el.closest('.dy-podcast-list'); 6985 const input = wrap.querySelector('.dy-podcast-search-input'); 6986 if (input) { 6987 // Remove # for search value but keep it for display style if desired 6988 const searchVal = val.replace(/^#/, ''); 6989 input.value = searchVal; 6990 window.dyFilterPodcasts(input); 6991 } 6992 }; 6993 </script>
6993 6994 <div class="dy-podcast-no-results" style="display:none; text-align:center; padding:30px; color:rgba(255,255,255,0.4); font-style:italic; font-size:14px;"> 6995 <i class="fas fa-info-circle" style="margin-right:8px;"></i> Aucun épisode trouvé pour "<span></span>" 6996 </div> 6997 6998 <div class="dy-podcast-items-container"> 6999 <div class="dy-podcast-item" 7000 data-url="https://audio.ausha.co/B6rdnSPZvA6z.mp3?t=1790086536" 7001 data-title="Liane Foly : Une artiste sincère amour, et en amitié" 7002 data-author="Crooner and Friends" 7003 data-image="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" 7004 data-date="2026-09-24" 7005 data-liaison-url="https://www.croonerradio.fr/podcasts/crooner-and-friends/" 7006 onclick="window.dyRadio.playPodcast(this)"> 7007 7008 <div class="dy-podcast-img-wrap"> 7009 <img decoding="async" src="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" alt="Podcast" loading="lazy"> 7010 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 7011 </div> 7012 7013 <div class="dy-podcast-info"> 7014 <span class="dy-podcast-date">2026-09-24</span> 7015 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 7016 Liane Foly : Une artiste sincère amour, et en amitié </h4> 7017 <span class="dy-podcast-meta">Crooner and Friends</span> 7018 7019 <div class="dy-podcast-progress-wrap"> 7020 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 7021 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/crooner-and-friends/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7022 <line x1="12" y1="19" x2="12" y2="10"></line> 7023 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 7024 </svg></button> 7025 <span class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7026 <circle cx="18" cy="5" r="3"></circle> 7027 <circle cx="6" cy="12" r="3"></circle> 7028 <circle cx="18" cy="19" r="3"></circle> 7029 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 7030 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 7031 </svg></span> 7032 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 7033 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 7034 <span class="dy-podcast-time">00:00</span> 7035 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 7036 <div class="dy-podcast-progress-rail"> 7037 <div class="dy-podcast-progress-fill"></div> 7038 </div> 7039 </div> 7040 </div> 7041 </div> 7042 7043 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;">
7044 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 7045 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7046 <circle cx="18" cy="5" r="3"></circle> 7047 <circle cx="6" cy="12" r="3"></circle> 7048 <circle cx="18" cy="19" r="3"></circle> 7049 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 7050 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 7051 </svg> 7052 </span> 7053 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 7054 </div> 7055 </div> 7056 <div class="dy-podcast-item" 7057 data-url="https://audio.ausha.co/oZR9sm3VY80o.mp3?t=1790182585" 7058 data-title="Pif Gadget : le grand retour du magazine culte de notre enfance" 7059 data-author="La Minute Crooner Attitude" 7060 data-image="https://image.ausha.co/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412" 7061 data-date="2026-09-23" 7062 data-liaison-url="https://www.croonerradio.fr/podcasts/la-minute-crooner-attitude/" 7063 onclick="window.dyRadio.playPodcast(this)"> 7064 7065 <div class="dy-podcast-img-wrap"> 7066 <img decoding="async" src="https://image.ausha.co/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412" alt="Podcast" loading="lazy"> 7067 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 7068 </div> 7069 7070 <div class="dy-podcast-info"> 7071 <span class="dy-podcast-date">2026-09-23</span> 7072 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 7073 Pif Gadget : le grand retour du magazine culte de notre enfance </h4> 7074 <span class="dy-podcast-meta">La Minute Crooner Attitude</span> 7075 7076 <div class="dy-podcast-progress-wrap"> 7077 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 7078 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/la-minute-crooner-attitude/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7079 <line x1="12" y1="19" x2="12" y2="10"></line> 7080 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 7081 </svg></button> 7082 <span class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7083 <circle cx="18" cy="5" r="3"></circle> 7084 <circle cx="6" cy="12" r="3"></circle> 7085 <circle cx="18" cy="19" r="3"></circle> 7086 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 7087 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 7088 </svg></span> 7089 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 7090 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button>
7091 <span class="dy-podcast-time">00:00</span> 7092 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 7093 <div class="dy-podcast-progress-rail"> 7094 <div class="dy-podcast-progress-fill"></div> 7095 </div> 7096 </div> 7097 </div> 7098 </div> 7099 7100 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;"> 7101 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 7102 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7103 <circle cx="18" cy="5" r="3"></circle> 7104 <circle cx="6" cy="12" r="3"></circle> 7105 <circle cx="18" cy="19" r="3"></circle> 7106 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 7107 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 7108 </svg> 7109 </span> 7110 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 7111 </div> 7112 </div> 7113 <div class="dy-podcast-item" 7114 data-url="https://audio.ausha.co/b3PNRtG3OZ56.mp3?t=1790071941" 7115 data-title="Liane Foly : Le cinéma, des projets secrets, le showbiz et une chanson surprise" 7116 data-author="Crooner and Friends" 7117 data-image="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" 7118 data-date="2026-09-23" 7119 data-liaison-url="https://www.croonerradio.fr/podcasts/crooner-and-friends/" 7120 onclick="window.dyRadio.playPodcast(this)"> 7121 7122 <div class="dy-podcast-img-wrap"> 7123 <img decoding="async" src="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" alt="Podcast" loading="lazy"> 7124 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 7125 </div> 7126 7127 <div class="dy-podcast-info"> 7128 <span class="dy-podcast-date">2026-09-23</span> 7129 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 7130 Liane Foly : Le cinéma, des projets secrets, le showbiz et une chanson surprise </h4> 7131 <span class="dy-podcast-meta">Crooner and Friends</span> 7132 7133 <div class="dy-podcast-progress-wrap"> 7134 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 7135 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/crooner-and-friends/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7136 <line x1="12" y1="19" x2="12" y2="10"></line> 7137 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 7138 </svg></button> 7139 <sp
7139an class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7140 <circle cx="18" cy="5" r="3"></circle> 7141 <circle cx="6" cy="12" r="3"></circle> 7142 <circle cx="18" cy="19" r="3"></circle> 7143 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 7144 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 7145 </svg></span> 7146 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 7147 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 7148 <span class="dy-podcast-time">00:00</span> 7149 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 7150 <div class="dy-podcast-progress-rail"> 7151 <div class="dy-podcast-progress-fill"></div> 7152 </div> 7153 </div> 7154 </div> 7155 </div> 7156 7157 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;"> 7158 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 7159 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7160 <circle cx="18" cy="5" r="3"></circle> 7161 <circle cx="6" cy="12" r="3"></circle> 7162 <circle cx="18" cy="19" r="3"></circle> 7163 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 7164 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 7165 </svg> 7166 </span> 7167 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 7168 </div> 7169 </div> 7170 <div class="dy-podcast-item" 7171 data-url="https://audio.ausha.co/B10nQFEKqje2.mp3?t=1790157409" 7172 data-title="Warnamount : Des Fausses promesses pour un jackpot..." 7173 data-author="Media Inside" 7174 data-image="https://image.ausha.co/AfiFD6i75Bftw5BI1PefoaoQ0M3flhU7rlZhTGWi_1400x1400.jpeg?t=1707314431" 7175 data-date="2026-09-23" 7176 data-liaison-url="https://www.croonerradio.fr/podcasts/media-inside-actualite-des-medias/" 7177 onclick="window.dyRadio.playPodcast(this)"> 7178 7179 <div class="dy-podcast-img-wrap"> 7180 <img decoding="async" src="https://image.ausha.co/AfiFD6i75Bftw5BI1PefoaoQ0M3flhU7rlZhTGWi_1400x1400.jpeg?t=1707314431" alt="Podcast" loading="lazy"> 7181 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 7182 </div> 7183 7184 <div class="dy-podcast-info">
7185 <span class="dy-podcast-date">2026-09-23</span> 7186 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 7187 Warnamount : Des Fausses promesses pour un jackpot... </h4> 7188 <span class="dy-podcast-meta">Media Inside</span> 7189 7190 <div class="dy-podcast-progress-wrap"> 7191 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 7192 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/media-inside-actualite-des-medias/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7193 <line x1="12" y1="19" x2="12" y2="10"></line> 7194 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 7195 </svg></button> 7196 <span class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7197 <circle cx="18" cy="5" r="3"></circle> 7198 <circle cx="6" cy="12" r="3"></circle> 7199 <circle cx="18" cy="19" r="3"></circle> 7200 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 7201 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 7202 </svg></span> 7203 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 7204 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 7205 <span class="dy-podcast-time">00:00</span> 7206 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 7207 <div class="dy-podcast-progress-rail"> 7208 <div class="dy-podcast-progress-fill"></div> 7209 </div> 7210 </div> 7211 </div> 7212 </div> 7213 7214 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;"> 7215 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 7216 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7217 <circle cx="18" cy="5" r="3"></circle> 7218 <circle cx="6" cy="12" r="3"></circle> 7219 <circle cx="18" cy="19" r="3"></circle> 7220 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 7221 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 7222 </svg> 7223 </span>
7224 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 7225 </div> 7226 </div> 7227 <div class="dy-podcast-item" 7228 data-url="https://audio.ausha.co/ygdRMHD3gzjr.mp3?t=1790069214" 7229 data-title="Liane Foly : Peut-on sauver la chanson française ? Transmission, souvenirs et grands standards" 7230 data-author="Crooner and Friends" 7231 data-image="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" 7232 data-date="2026-09-22" 7233 data-liaison-url="https://www.croonerradio.fr/podcasts/crooner-and-friends/" 7234 onclick="window.dyRadio.playPodcast(this)"> 7235 7236 <div class="dy-podcast-img-wrap"> 7237 <img decoding="async" src="https://image.ausha.co/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389" alt="Podcast" loading="lazy"> 7238 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 7239 </div> 7240 7241 <div class="dy-podcast-info"> 7242 <span class="dy-podcast-date">2026-09-22</span> 7243 <h4 class="dy-podcast-title" style="font-size:15px; color:#ffffff; font-weight:700;"> 7244 Liane Foly : Peut-on sauver la chanson française ? Transmission, souvenirs et grands standards </h4> 7245 <span class="dy-podcast-meta">Crooner and Friends</span> 7246 7247 <div class="dy-podcast-progress-wrap"> 7248 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 7249 <button class="dy-podcast-info-btn" onclick="window.location.href = 'https://www.croonerradio.fr/podcasts/crooner-and-friends/'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7250 <line x1="12" y1="19" x2="12" y2="10"></line> 7251 <circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle> 7252 </svg></button> 7253 <span class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7254 <circle cx="18" cy="5" r="3"></circle> 7255 <circle cx="6" cy="12" r="3"></circle> 7256 <circle cx="18" cy="19" r="3"></circle> 7257 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 7258 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 7259 </svg></span> 7260 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 7261 <button class="dy-podcast-skip" data-dir="1" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 7262 <span class="dy-podcast-time">00:00</span> 7263 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"> 7264 <div class="dy-podcast-progress-rail"> 7265 <div class="dy-podcast-progress-fill"></div> 7266 </div> 7267 </div> 7268 </div> 7269 </div> 7270 7271 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;">
7272 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #a08053; color: #ffffff; cursor: pointer; transition: all 0.3s;"> 7273 <svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"> 7274 <circle cx="18" cy="5" r="3"></circle> 7275 <circle cx="6" cy="12" r="3"></circle> 7276 <circle cx="18" cy="19" r="3"></circle> 7277 <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line> 7278 <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line> 7279 </svg> 7280 </span> 7281 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 7282 </div> 7283 </div> 7284 </div> 7285 7286
7286<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"PodcastEpisode","name":"Liane Foly : Une artiste sinc\u00e8re amour, et en amiti\u00e9","datePublished":"2026-09-24T06:15:00+00:00","description":"Liane Foly : Une artiste sinc\u00e8re amour, et en amiti\u00e9","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/B6rdnSPZvA6z.mp3?t=1790086536"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":2,"item":{"@type":"PodcastEpisode","name":"Pif Gadget : le grand retour du magazine culte de notre enfance","datePublished":"2026-09-23T07:15:00+00:00","description":"Pif Gadget : le grand retour du magazine culte de notre enfance","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/oZR9sm3VY80o.mp3?t=1790182585"},"image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412"}},{"@type":"ListItem","position":3,"item":{"@type":"PodcastEpisode","name":"Liane Foly : Le cin\u00e9ma, des projets secrets, le showbiz et une chanson surprise","datePublished":"2026-09-23T06:15:00+00:00","description":"Liane Foly : Le cin\u00e9ma, des projets secrets, le showbiz et une chanson surprise","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/b3PNRtG3OZ56.mp3?t=1790071941"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":4,"item":{"@type":"PodcastEpisode","name":"Warnamount : Des Fausses promesses pour un jackpot...","datePublished":"2026-09-23T05:45:00+00:00","description":"Warnamount : Des Fausses promesses pour un jackpot...","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/B10nQFEKqje2.mp3?t=1790157409"},"image":"https:\/\/image.ausha.co\/AfiFD6i75Bftw5BI1PefoaoQ0M3flhU7rlZhTGWi_1400x1400.jpeg?t=1707314431"}},{"@type":"ListItem","position":5,"item":{"@type":"PodcastEpisode","name":"Liane Foly : Peut-on sauver la chanson fran\u00e7aise ? Transmission, souvenirs et grands standards","datePublished":"2026-09-22T06:15:00+00:00","description":"Liane Foly : Peut-on sauver la chanson fran\u00e7aise ? Transmission, souvenirs et grands standards","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/ygdRMHD3gzjr.mp3?t=1790069214"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":6,"item":{"@type":"PodcastEpisode","name":"Liane Foly confie ses souvenirs dans \u00ab La Droguerie du sourire \u00bb sur Crooner Radio","datePublished":"2026-09-21T06:15:00+00:00","description":"Liane Foly confie ses souvenirs dans \u00ab La Droguerie du sourire \u00bb sur Crooner Radio","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/oKwO3H8D4VWl.mp3?t=1790069719"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":7,"item":{"@type":"PodcastEpisode","name":"Comment La La Land et TikTok ont sauv\u00e9 le Caveau de la Huchette pour un renouveau du swing !","datePublished":"2026-09-20T07:15:00+00:00","description":"Comment La La Land et TikTok ont sauv\u00e9 le Caveau de la Huchette pour un renouveau du swing !","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/ypZ8fgx2l31B.mp3?t=1790159096"},"image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412"}},{"@type":"ListItem","position":8,"item":{"@type":"PodcastEpisode","name":"Philippe Katerine : Ses plaisirs inavouables du dimanche","datePublished":"2026-09-18T
728606:15:00+00:00","description":"Philippe Katerine : Ses plaisirs inavouables du dimanche","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/ykkzRsVYqPDL.mp3?t=1789739748"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":9,"item":{"@type":"PodcastEpisode","name":"Philippe Katerine : Une famille d'artiste et un d\u00e9sir de vivre dans les ann\u00e9es folles","datePublished":"2026-09-17T06:15:00+00:00","description":"Philippe Katerine : Une famille d'artiste et un d\u00e9sir de vivre dans les ann\u00e9es folles","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/omXzjs0Od904.mp3?t=1651590669"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":10,"item":{"@type":"PodcastEpisode","name":"La Publicit\u00e9 TV en France \u00e0 l'agonie ?","datePublished":"2026-09-16T12:32:29+00:00","description":"La Publicit\u00e9 TV en France \u00e0 l'agonie ?","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/b7zweCVaVR3K.mp3?t=1789561910"},"image":"https:\/\/image.ausha.co\/AfiFD6i75Bftw5BI1PefoaoQ0M3flhU7rlZhTGWi_1400x1400.jpeg?t=1707314431"}},{"@type":"ListItem","position":11,"item":{"@type":"PodcastEpisode","name":"Liane Foly se raconte dans \"La Droguerie Du Sourire\"","datePublished":"2026-09-16T07:15:00+00:00","description":"Liane Foly se raconte dans \"La Droguerie Du Sourire\"","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/od0ptKplxQ4o.mp3?t=1790157997"},"image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412"}},{"@type":"ListItem","position":12,"item":{"@type":"PodcastEpisode","name":"Philippe Katerine sur Crooner Radio : coulisses, cr\u00e9ation et souvenirs de famille","datePublished":"2026-09-16T06:15:00+00:00","description":"Philippe Katerine sur Crooner Radio : coulisses, cr\u00e9ation et souvenirs de famille","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/bjeZXIXq1ZPk.mp3?t=1789635402"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":13,"item":{"@type":"PodcastEpisode","name":"Roberto Colletta nous donne sa vision du romantisme dans le le single \u00ab Reste un peu \u00bb","datePublished":"2026-09-15T11:12:45+00:00","description":"Roberto Colletta nous donne sa vision du romantisme dans le le single \u00ab Reste un peu \u00bb","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/BnZwfLg7PYWB.mp3?t=1789470167"},"image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412"}},{"@type":"ListItem","position":14,"item":{"@type":"PodcastEpisode","name":"Philippe Katerine : Qui est Philippe Katerine ?","datePublished":"2026-09-15T06:15:00+00:00","description":"Philippe Katerine : Qui est Philippe Katerine ?","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/b5rxjSkGkPw0.mp3?t=1789465434"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":15,"item":{"@type":"PodcastEpisode","name":"Les Mashup de Crooner Radio","datePublished":"2026-09-14T07:15:00+00:00","description":"Les Mashup de Crooner Radio","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/yggLiqXWX3Ey.mp3?t=1789467660"},"image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412"}},{"@type":"ListItem","position":16,"item":{"@type":"PodcastEpisode","name":"Philippe Katerine : Est-il un acteur, chanteur engag\u00e9 ?","datePublished":"2026-09-14T06:15:00+00:00","description":"Philippe Katerine : Est-il un acteur, chanteur engag\u00e9 ?","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/yvpvdHdjxa53.mp3?t=1789465259"},"image":"https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389"}},{"@type":"ListItem","position":17,"item":{"@type":"PodcastEpisode","name":"Larrat en concert \u00e0 La Sc\u00e8ne Parisienne : d\u00e9couvrez l'album d'un crooner r\u00e9invent\u00e9","datePublished":"2026-09-11T07:15:00+00:00","description":"Larrat en concert \u00e0 La Sc\u00e8ne Parisienne : d\u00e9couvrez l'album d'un crooner r\u00e9invent\u00e9","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/Bqx8hd5xlqKb.mp3?t=1789035803"},"image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412"}},{"@type":"ListItem","position":18,"item":{"@type":"PodcastEpisode","name":"Stevie Wonder en concert \u00e0 l'Accor Arena de Paris : le retour d'une l\u00e9gende soul et pop","datePublished":"2026-09-10T14:33:39+00:00","description":"Stevie Wonder en concert \u00e0 l'Accor Arena de Paris : le retour d'une l\u00e9gende soul et pop","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/BNepUA50YQrb.mp3?t=1789035744"},"image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412"}},{"@type":"ListItem","position":19,"item":{"@type":"PodcastEpisode","name":"Salon Paris Passion A\u00e9ro : vivez l'aviation \u00e0 Toussus-le-Noble avec l'A\u00e9ro Touring Club","datePublished":"2026-09-09T07:15:00+00:00","description":"Salon Paris Passion A\u00e9ro : vivez l'aviation \u00e0 Toussus-le-Noble avec l'A\u00e9ro Touring Club","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/yvV8uqxMdJry.mp3?t=1789035763"},"image":"https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412"}},{"@type":"ListItem","position":20,"item":{"@type":"PodcastEpisode","name":"Les 10 infos Media Inside Hors Cadre de L'\u00e9t\u00e9 2026","datePublished":"2026-09-09T05:45:00+00:00","description":"Les 10 infos Media Inside Hors Cadre de L'\u00e9t\u00e9 2026","url":"https:\/\/www.croonerradio.fr\/","associatedMedia":{"@type":"MediaObject","contentUrl":"https:\/\/audio.ausha.co\/b5rNgImGLmzP.mp3?t=1788948862"},"image":"https:\/\/image.ausha.co\/AfiFD6i75Bftw5BI1PefoaoQ0M3flhU7rlZhTGWi_1400x1400.jpeg?t=1707314431"}}]}</script>
7286 7287 <div class="dy-load-more-wrap" style="text-align: center; margin: 40px 0;"> 7288 <button class="dy-btn-load-more" 7289 onclick="window.dyLoadMorePodcasts(this)" 7290 style="background:#ffffff !important; color:#000000 !important; border:none !important; padding:15px 40px !important; border-radius:35px !important; font-weight:400 !important; cursor:pointer !important; font-size:12px !important; transition:all 0.3s ease; box-shadow:0 8px 25px rgba(0,0,0,0.3) !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:10px !important; letter-spacing:1px !important;"> 7291 <i class="fas fa-podcast" style="font-size:1.2em;"></i> 7292 <span>Voir plus d'épisodes</span> 7293 </button> 7294 </div> 7295 <style> 7296 .dy-btn-load-more:active { 7297 transform: scale(0.96); 7298 } 7299 7300 .dy-btn-load-more:hover { 7301 filter: brightness(1.1); 7302 transform: translateY(-2px); 7303 } 7304 </style> 7305 </div> 7306</div></div></div></div><div class="fusion-bg-parallax" data-bg-align="center center" data-direction="up" data-mute="false" data-opacity="100" data-velocity="-0.3" data-mobile-enabled="false" data-break_parents="0" data-bg-image="https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-06-IMG-CROONER-RADIO-COVERS-PARALAXv12.webp" data-bg-repeat="false" data-bg-color="#000000" ></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-3-8 fusion-flex-container has-pattern-background has-mask-background fusion-parallax-up nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-small-visibility" style="--awb-border-radius-top-left:10px;--awb-border-radius-top-right:10px;--awb-border-radius-bottom-right:10px;--awb-border-radius-bottom-left:10px;--awb-overflow:hidden;--awb-padding-top:10%;--awb-padding-right:10%;--awb-padding-bottom:10%;--awb-padding-left:10%;--awb-background-color:#000000;--awb-background-image:url("https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-06-IMG-CROONER-RADIO-COVERS-PARALAXv12.webp");--awb-background-size:cover;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-flex-end fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-30 fusion_builder_column_2_5 2_5 fusion-flex-column fusion-flex-align-self-center" style="--awb-bg-size:cover;--awb-width-large:40%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:4.8%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:4.8%;--awb-width-medium:40%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:4.8%;--awb-spacing-left-medium:4.8%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column"><div class="fusion-text fusion-text-1"><h1>Crooner Radio : L’élégance musicale intemporelle au service des voix iconiques de légende</h1> 7307<p><span style="color: #ffffff;">Bienvenue sur Crooner Radio, la station de radio d’exception qui célèbre l’art du jazz vocal et les grandes voix intemporelles. Conçue pour un public exigeant, une programmation intemporelle où se mêlent élégance et le glamour, des crooners légendaires aux crooners modernes et artistes contemporains.</span></p> 7308</div></div></div></div></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-3-9 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-small-visibility" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-margin-top:5%;--awb-margin-bottom:5%;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-31 fusion_builder_column_3_5 3_5 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:60%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:3.2%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:3.2%;--awb-width-medium:60%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:3.2%;--awb-spacing-left-medium:3.2%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-18 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color3);--awb-margin-bottom:2%;--awb-margin-top-small:10px;
7308--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:40px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="margin:0;font-size:1em;">Qui sommes-nous ?</div></div><div class="accordian fusion-accordian" style="--awb-border-size:0px;--awb-icon-size:20px;--awb-content-font-size:16px;--awb-icon-alignment:left;--awb-hover-color:var(--awb-color2);--awb-border-color:var(--awb-color3);--awb-background-color:var(--awb-color1);--awb-divider-color:var(--awb-color3);--awb-divider-hover-color:var(--awb-color3);--awb-icon-color:#d1d1d1;--awb-title-color:var(--awb-color3);--awb-content-color:var(--awb-color3);--awb-icon-box-color:var(--awb-color1);--awb-toggle-hover-accent-color:var(--awb-color5);--awb-title-font-family:"Inter";--awb-title-font-weight:400;--awb-title-font-style:normal;--awb-title-font-size:24px;--awb-title-letter-spacing:var(--awb-typography1-letter-spacing);--awb-title-line-height:1.4;--awb-content-font-family:var(--awb-typography4-font-family);--awb-content-font-weight:var(--awb-typography4-font-weight);--awb-content-font-style:var(--awb-typography4-font-style);"><div class="panel-group fusion-toggle-icon-unboxed" id="accordion-43837-1"><div class="fusion-panel panel-default panel-33bb4fa0746523d3c fusion-toggle-no-divider" style="--awb-title-color:var(--awb-color3);--awb-content-color:var(--awb-color3);"><div class="panel-heading"><h2 class="panel-title toggle" id="toggle_33bb4fa0746523d3c"><a aria-expanded="false" aria-controls="33bb4fa0746523d3c" role="button" data-toggle="collapse" data-parent="#accordion-43837-1" data-target="#33bb4fa0746523d3c" href="#33bb4fa0746523d3c"><span class="fusion-toggle-icon-wrapper" aria-hidden="true"><i class="fa-fusion-box active-icon awb-icon-minus" aria-hidden="true"></i><i class="fa-fusion-box inactive-icon fa-angle-down fas" aria-hidden="true"></i></span><span class="fusion-toggle-heading">Une diffusion premium en France et partout dans le monde</span></a></h2></div><div id="33bb4fa0746523d3c" class="panel-collapse collapse " aria-labelledby="toggle_33bb4fa0746523d3c"><div class="panel-body toggle-content fusion-clearfix"> 7309<p>Ãcoutez Crooner Radio en radio numérique DAB+, en streaming HD ou via nos plateformes digitales. Profitez dâun son soigneusement travaillé et dâune accessibilité optimale, où que vous soyez. Notre engagement : une immersion musicale de qualité pour une écoute sans compromis.</p> 7310<p>Ãcoutez Crooner Radio partout, à tout moment<br /> 7311Ãcoutez Crooner Radio en direct sur notre site ou via notre application mobile.<br /> 7312Téléchargez nos applications Apple et Android pour un accès fluide à votre programmation favorite.</p> 7313<p>Avec Crooner Radio, laissez-vous séduire par lâélégance dâun son intemporel, conçu pour les amateurs de musique raffinée et authentique.</p> 7314</div></div></div><div class="fusion-panel panel-default panel-a6754bd7cc4dadcbf fusion-toggle-no-divider" style="--awb-title-color:var(--awb-color3);--awb-content-color:var(--awb-color3);"><div class="panel-heading"><h2 class="panel-title toggle" id="toggle_a6754bd7cc4dadcbf"><a aria-expanded="false" aria-controls="a6754bd7cc4dadcbf" role="button" data-toggle="collapse" data-parent="#accordion-43837-1" data-target="#a6754bd7cc4dadcbf" href="#a6754bd7cc4dadcbf"><span class="fusion-toggle-icon-wrapper" aria-hidden="true"><i class="fa-fusion-box active-icon awb-icon-minus" aria-hidden="true"></i><i class="fa-fusion-box inactive-icon fa-angle-down fas" aria-hidden="true"></i></span><span class="fusion-toggle-heading">Une programmation musical unique et raffinée</span></a></h2></div><div id="a6754bd7cc4dadcbf" class="panel-collapse collapse " aria-labelledby="toggle_a6754bd7cc4dadcbf"><div class="panel-body toggle-content fusion-clearfix"> 7315<p>Les plus grandes voix de Frank Sinatra en passant par Nat King Cole ou encore Tony Bennett, ou les voix actuelles comme Michael Bublé, Diana Krall, Dany Brillant, Crooner Radio vous invite à un voyage sonore inoubliable. Découvrez une sélection musicale dâexception, conçue pour accompagner vos moments de détente et vos instants privilégiés.</p> 7316</div></div></div><div class="fusion-panel panel-default panel-b83c21c9e357d5ae0 fusion-toggle-no-divider" style="--awb-title-color:var(--awb-color3);--awb-content-color:var(--awb-color3);"><div class="panel-heading"><h2 class="panel-title toggle" id="toggle_b83c21c9e357d5ae0"><a aria-expanded="false" aria-controls="b83c21c9e357d5ae0" role="button" data-toggle="collapse" data-parent="#accordion-43837-1" data-target="#b83c21c9e357d5ae0" href="#b83c21c9e357d5ae0"><span class="fusion-toggle-icon-wrapper" aria-hidden="true"><i class="fa-fusion-box active-icon awb-icon-minus" aria-hidden="true"></i><i class="fa-fusion-box inactive-icon fa-angle-down fas" aria-hidden="true"></i></span><span class="fusion-toggle-heading">Où puis-je écouter Crooner Radio en direct ?</span></a></h2></div><div id="b83c21c9e357d5ae0" class="panel-collapse collapse " aria-labelledby="toggle_b83c21c9e357d5ae0"><div class="panel-body toggle-content fusion-clearfix"> 7317<p>Vous pouvez écouter Crooner Radio en direct sur notre site web, via notre application mobile Apple et Android, en DAB+ dans plusieurs villes de France, sur les enceintes connectées Alexa et Google Home, ainsi que sur des plateformes comme TuneIn, radioline, spotify, dezzer …</p> 7318</div></div></div><div class="fusion-panel panel-default panel-b714c1364bc6618ad fusion-toggle-no-divider" style="--awb-title-color:var(--awb-color3);--awb-content-color:var(--awb-color3);"><div class="panel-heading"><h2 class="panel-title toggle" id="toggle_b714c1364bc6618ad"><a aria-expanded="false" aria-controls="b714c1364bc6618ad" role="button" data-toggle="collapse" data-parent="#accordion-43837-1" data-target="#b714c1364bc6618ad" href="#b714c1364bc6618ad"><span class="fusion-toggle-icon-wrapper" aria-hidden="true"><i class="fa-fusion-box active-icon awb-icon-minus" aria-hidden="true"></i><i class="fa-fusion-box inactive-icon fa-angle-down fas" aria-hidden="true"></i></span><span class="fusion-toggle-heading">Crooner Radio est-elle disponible sur DAB+ ?</span></a></h2></div><div id="b714c1364bc6618ad" class="panel-collapse collapse " aria-labelledby="toggle_b714c1364bc6618ad"><div class="panel-body toggle-content fusion-clearfix"> 7319<p>Oui, Crooner Radio est diffusée en DAB+ dans plusieurs régions de France. Consultez notre carte de couverture sur le site pour voir si votre ville est desservie.</p> 7320</div></div></div><div class="fusion-panel panel-default panel-14673c6abf3f555b6 fusion-toggle-no-divider" style="--awb-title-color:var(--awb-color3);--awb-content-color:var(--awb-color3);"><div class="panel-heading"><h2 class="panel-title toggle" id="toggle_14673c6abf3f555b6"><a aria-expanded="false" aria-controls="14673c6abf3f555b6" role="button" data-toggle="collapse" data-parent="#accordion-43837-1" data-target="#14673c6abf3f555b6" href="#14673c6abf3f555b6"><span class="fusion-toggle-icon-wrapper" aria-hidden="true"><i class="fa-fusion-box active-icon awb-icon-minus" aria-hidden="true"></i><i class="fa-fusion-box inactive-icon fa-angle-down fas" aria-hidden="true"></i></span><span class="fusion-toggle-heading">Comment écouter Crooner Radio sur mon smartphone ?</span></a></h2></div><div id="14673c6abf3f555b6" class="panel-collapse collapse " aria-labelledby="toggle_14673c6abf3f555b6"><div class="panel-body toggle-content fusion-clearfix"> 7321<p>Vous pouvez télécharger notre application mobile sur iOS et Android ou accéder à notre site via votre navigateur mobile.</p> 7322</div></div></div><div class="fusion-panel panel-default panel-d31d383dbf6c105d7 fusion-toggle-no-divider" style="--awb-title-color:var(--awb-color3);--awb-content-color:var(--awb-color3);"><div class="panel-heading"><h2 class="panel-title toggle" id="toggle_d31d383dbf6c105d7"><a aria-expanded="false" aria-controls="d31d383dbf6c105d7" role="button" data-toggle="collapse" data-parent="#accordion-43837-1" data-target="#d31d383dbf6c105d7" href="#d31d383dbf6c105d7"><span class="fusion-toggle-icon-wrapper" aria-hidden="true"><i class="fa-fusion-box active-icon awb-icon-minus" aria-hidden="true"></i><i class="fa-fusion-box inactive-icon fa-angle-down fas" aria-hidden="true"></i></span><span class="fusion-toggle-heading">Puis-je écouter Crooner Radio sans publicité ?</span></a></h2></div><div id="d31d383dbf6c105d7" class="panel-collapse collapse " aria-labelledby="toggle_d31d383dbf6c105d7"><div class="panel-body toggle-content fusion-clearfix"> 7323<p>Nous proposerons prochainement une version premium sans publicité. Consultez notre site régulièrement pour en savoir plus sur notre abonnement.</p> 7324</div></div></div><div class="fusion-panel panel-default panel-c85b2539a0576c71e fusion-toggle-no-divider" style="--awb-title-color:var(--awb-color3);--awb-content-color:var(--awb-color3);"><div class="panel-heading"><h2 class="panel-title toggle" id="toggle_c85b2539a0576c71e"><a aria-expanded="false" aria-controls="c85b2539a0576c71e" role="button" data-toggle="collapse" data-parent="#accordion-43837-1" data-target="#c85b2539a0576c71e" href="#c85b2539a0576c71e"><span class="fusion-toggle-icon-wrapper" aria-hidden="true"><i class="fa-fusion-box active-icon awb-icon-minus" aria-hidden="true"></i><i class="fa-fusion-box inactive-icon fa-angle-down fas" aria-hidden="true"></i></span><span class="fusion-toggle-heading">Quels artistes sont diffusés sur Crooner Radio ?</span></a></h2></div><div id="c85b2539a0576c71e" class="panel-collapse collapse " aria-labelledby="toggle_c85b2539a0576c71e"><div class="panel-body toggle-content fusion-clearfix"> 7325<p>Vous pouvez écouter des légendes comme Frank Sinatra, Dean Martin, Michael Bublé, Nat King Cole, ainsi que des talents contemporains du jazz vocal et de la musique crooner.</p> 7326</div></div></div></div></div></div></div></div></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-3-10 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-large-visibility hidden" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-32 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column">
7326<script type="application/ld+json"> 7327{ "@context" : "http://schema.org", 7328 "@type" : "Média", 7329"name" : "Crooner Radio", 7330"logo" : "https://www.croonerradio.fr/wp-content/uploads/2018/01/logo-dab-rnt-crooner-radio-france.png", 7331 "url" : "https://www.croonerradio.fr/", 7332 "sameAs" : 7333 [ "https://www.facebook.com/radiocrooner/", 7334 "https://twitter.com/croonerradio", 7335 "https://www.instagram.com/croonerradio/", 7336 "https://www.linkedin.com/company/crooner-radio/", 7337 "https://www.youtube.com/channel/UCm2ZmOb7EAKcjFoOqZusIpw", 7338 "https://plus.google.com/+CroonerRadio"] 7339} 7340</script>
7340<script type='text/javascript'> 7341jQuery(document).ready(function($){ 7342 initPlayer("crooner-radio"); 7343}); 7344</script>
7344<!-- Event snippet for Fréquentation site internet conversion page -->
7345<script> 7346 gtag('event', 'conversion', {'send_to': 'AW-854772592/wm49CJLHg4YBEPCWy5cD'}); 7347</script>
7347 7348</div></div></div></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-3-11 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-33 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><meta name="keywords" content="crooner, crooner populaire, crooner classique, crooner jazz, crooner romantique, crooner des années 50, crooner moderne, crooner nostalgique, crooner en direct, crooner romantique, crooner des années 50, crooner jazz, musique crooner, crooner attitude, chansons crooner, musique crooner, chansons crooner, émissions de radio crooner, crooner classique, radios crooner en ligne, chanteurs crooner, chanteur de charme, chanteur jazz, chanteur swing, musique de crooner, chanteur de jazz, chanteur de swing, musique de charme, musique crooner, musique jazz, musique swing, chanson de crooner, chanson de charme, chanson jazz, chanson swing, jazz vocal, jazz singing, jazz vocalists, jazz standards, jazz songs, jazz vocal, radio jazz soul, jazz soul, vocal jazz, jazz music, jazz vocals, jazz ballads, jazz vocal albums, jazz vocal performances, jazz vocal harmonies, jazz vocal duets, jazz vocal covers, jazz vocal solos, radio numérique, radio en ligne, radio internet, radio en direct, radio française, radio dab, radio streaming, radio en france, radio en ligne gratuite, radio digitale, radio live, radio dab en ligne, radio musicale en ligne, radio en direct gratuite, radio musicale française, radio en ligne sans inscription, radio dab en direct, radio musicale en direct, radio en ligne sans pub, radio française en direct, crooner radio podcast, crooner podcast, minute crooner, jean-baptiste tuzet, frank sinatra, dean martin, bing crosby, nat king cole, perry como, tony bennett, louis armstrong, sammy davis jr, mel torme, bobby darin, ella fitzgerald, billie holiday, rosemary clooney, peggy lee, julie london, sarah vaughan, doris day, nancy wilson, eartha kitt, eydie gorme,michael buble, harry connick jr, jamie cullum, josh groban, andrea bocelli, seal, john legend, rob thomas, michael feinstein, barry manilow, crooner radio, radio crooner en ligne, musique crooner, crooner jazz en direct, écouter crooner en ligne, radio musicale jazz, radio crooner streaming, meilleurs crooners, chansons de crooner, radio de crooner live, crooner romantique en direct, écouter jazz vocal en ligne, crooner des années 50 en streaming, radio numérique crooner, musique swing en ligne, crooner classique radio, radio en ligne musique crooner, chanteurs de jazz légendaires, écouter musique crooner gratuitement, radio jazz en direct, émissions de radio crooner, écouter crooner jazz sans pub, crooner et jazz vocal, radio musicale jazz et swing, radio jazz française en direct, écouter crooner et jazz en direct sur internet, radio crooner des années 50 en ligne gratuite, meilleure radio jazz vocal en streaming, écouter chanson de crooner romantique gratuite, podcast crooner radio, crooner podcast chanson et jazz vocal, écouter crooner moderne et classique en streaming, crooner à écouter en direct sur radio numérique, chanson jazz crooner des années 50 en direct, musique de crooner avec voix de charme, frank sinatra radio en ligne, ecouter michael bublé en streaming, tony bennett crooner live, bing crosby chansons crooner en direct, écouter perry como en direct, louis armstrong jazz vocal, sammy davis jr chansons crooner, ella fitzgerald
7348jazz vocal radio, billie holiday crooner jazz en ligne, nancy wilson crooner musique, radio crooner gratuite en ligne, écouter musique de charme crooner, radio en direct sans publicité crooner, radio musicale en ligne gratuite, écouter chansons crooner de Noël"></div></div></div></div> 7349</div></div></div></div></div> 7350 </div> 7351 </div> 7352 </section> 7353 7354 </div> <!-- fusion-row --> 7355 </main> <!-- #main --> 7356 7357 7358 7359 <div class="fusion-tb-footer fusion-footer"><div class="fusion-footer-widget-area fusion-widget-area"><div class="fusion-fullwidth fullwidth-box fusion-builder-row-4 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-small-visibility" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:3%;--awb-padding-right:25%;--awb-padding-bottom:3%;--awb-padding-left:25%;--awb-background-color:#141414;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-34 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-image-element" style="--awb-max-width:150px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);"><span class=" fusion-imageframe imageframe-none imageframe-17 hover-type-none"><img decoding="async" width="300" height="300" alt="LOGO CROONER RADIO (BLANC)-webradios" title="LOGO CROONER RADIO (BLANC)-webradios" src="https://www.croonerradio.fr/wp-content/uploads/2022/09/LOGO-CROONER-RADIO-BLANC-300x300.webp" class="img-responsive wp-image-41001" srcset="https://www.croonerradio.fr/wp-content/uploads/2022/09/LOGO-CROONER-RADIO-BLANC-200x200.webp 200w, https://www.croonerradio.fr/wp-content/uploads/2022/09/LOGO-CROONER-RADIO-BLANC-400x400.webp 400w, https://www.croonerradio.fr/wp-content/uploads/2022/09/LOGO-CROONER-RADIO-BLANC-600x600.webp 600w, https://www.croonerradio.fr/wp-content/uploads/2022/09/LOGO-CROONER-RADIO-BLANC-800x800.webp 800w, https://www.croonerradio.fr/wp-content/uploads/2022/09/LOGO-CROONER-RADIO-BLANC-1200x1200.webp 1200w" sizes="(max-width: 640px) 100vw, 400px" /></span></div></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-35 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-19 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color2);--awb-margin-top-small:10px;
7359--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:20px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:500;margin:0;font-size:1em;line-height:1.1;">L’entreprise</div></div><nav class="awb-menu awb-menu_column awb-menu_em-hover mobile-mode-collapse-to-button awb-menu_icons-left awb-menu_dc-yes mobile-trigger-fullwidth-off awb-menu_mobile-toggle awb-menu_indent-left awb-menu_mt-align-flex-start mobile-size-full-absolute loading mega-menu-loading awb-menu_desktop awb-menu_dropdown awb-menu_expand-right awb-menu_transition-fade" style="--awb-font-size:13px;--awb-color:var(--awb-color1);--awb-active-color:var(--awb-color4);--awb-icons-hover-color:var(--awb-color4);--awb-main-justify-content:flex-start;--awb-mobile-justify:flex-start;--awb-mobile-caret-left:auto;--awb-mobile-caret-right:0;--awb-fusion-font-family-typography:inherit;--awb-fusion-font-style-typography:normal;--awb-fusion-font-weight-typography:400;--awb-fusion-font-family-submenu-typography:inherit;--awb-fusion-font-style-submenu-typography:normal;--awb-fusion-font-weight-submenu-typography:400;--awb-fusion-font-family-mobile-typography:inherit;--awb-fusion-font-style-mobile-typography:normal;--awb-fusion-font-weight-mobile-typography:400;" aria-label="FOOTER (Menu)" data-breakpoint="1024" data-count="2" data-transition-type="fade" data-transition-time="300" data-expand="right"><button type="button" class="awb-menu__m-toggle awb-menu__m-toggle_no-text" aria-expanded="false" aria-controls="menu-footer-menu"><span class="awb-menu__m-toggle-inner"><span class="collapsed-nav-text"><span class="screen-reader-text">Toggle Navigation</span></span><span class="awb-menu__m-collapse-icon awb-menu__m-collapse-icon_no-text"><span class="awb-menu__m-collapse-icon-open awb-menu__m-collapse-icon-open_no-text fa-bars fas"></span><span class="awb-menu__m-collapse-icon-close awb-menu__m-collapse-icon-close_no-text fa-times fas"></span></span></span></button><ul id="menu-footer-menu" class="fusion-menu awb-menu__main-ul awb-menu__main-ul_column"><li id="menu-item-22456" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22456 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="22456"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/radio/qui-sommes-nous/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Qui sommes nous ?</span></a></li><li id="menu-item-49227" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-49227 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="49227"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/faq-questions-reponses-support/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Questions fréquentes FAQ</span></a></li><li id="menu-item-46222" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-46222 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="46222"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/mentions-legales/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Mentions Légales</span></a></li><li id="menu-item-22447" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22447 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="22447"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span>
7359<a href="http://eg-ad.fr/pdf/cookies-notice.pdf" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Politique de cookies</span></a></li><li id="menu-item-46223" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46223 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="46223"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/contact-2/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Contact Crooner Radio</span></a></li></ul></nav></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-36 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-20 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color2);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:20px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:500;margin:0;font-size:1em;line-height:1.1;">Communiquer</div></div><nav class="awb-menu awb-menu_column awb-menu_em-hover mobile-mode-collapse-to-button awb-menu_icons-left awb-menu_dc-yes mobile-trigger-fullwidth-off awb-menu_mobile-toggle awb-menu_indent-left awb-menu_mt-align-flex-start mobile-size-full-absolute loading mega-menu-loading awb-menu_desktop awb-menu_dropdown awb-menu_expand-right awb-menu_transition-fade" style="--awb-font-size:13px;--awb-color:var(--awb-color1);--awb-active-color:var(--awb-color4);--awb-icons-hover-color:var(--awb-color4);--awb-main-justify-content:flex-start;--awb-mobile-justify:flex-start;--awb-mobile-caret-left:auto;--awb-mobile-caret-right:0;--awb-fusion-font-family-typography:inherit;--awb-fusion-font-style-typography:normal;--awb-fusion-font-weight-typography:400;--awb-fusion-font-family-submenu-typography:inherit;--awb-fusion-font-style-submenu-typography:normal;--awb-fusion-font-weight-submenu-typography:400;--awb-fusion-font-family-mobile-typography:inherit;--awb-fusion-font-style-mobile-typography:normal;--awb-fusion-font-weight-mobile-typography:400;" aria-label="FOOTER (Creative)" data-breakpoint="1024" data-count="3" data-transition-type="fade" data-transition-time="300" data-expand="right"><button type="button" class="awb-menu__m-toggle awb-menu__m-toggle_no-text" aria-expanded="false" aria-controls="menu-footer-creative"><span class="awb-menu__m-toggle-inner"><span class="collapsed-nav-text"><span class="screen-reader-text">Toggle Navigation</span></span><span class="awb-menu__m-collapse-icon awb-menu__m-collapse-icon_no-text"><span class="awb-menu__m-collapse-icon-open awb-menu__m-collapse-icon-open_no-text fa-bars fas"></span><span class="awb-menu__m-collapse-icon-close awb-menu__m-collapse-icon-close_no-text fa-times fas"></span></span></span></button><ul id="menu-footer-creative" class="fusion-menu awb-menu__main-ul awb-menu__main-ul_column"><li id="menu-item-46232" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46232 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="46232"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/regie-publicitaire-sponsoring-publicite/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Régie publicitaire</span></a></li><li id="menu-item-46233" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46233 awb-menu__li awb-menu__main-li awb-menu__main-li_regular" data-item-id="46233"><span class="awb-menu__main-background-default awb-menu__main-background-default_fade"></span><span class="awb-menu__main-background-active awb-menu__main-background-active_fade"></span><a href="https://www.croonerradio.fr/espace-presse/" class="awb-menu__main-a awb-menu__main-a_regular"><span class="menu-text">Espace presse</span></a></li></ul></nav></div></div><div class="fusion-layout-column fusion_builder_column fusion-builder-column-37 fusion_builder_column_1_4 1_4 fusion-flex-column" style="--awb-padding-top:5%;--awb-padding-right:5%;--awb-padding-bottom:6%;--awb-padding-left:5%;--awb-overflow:hidden;--awb-bg-size:cover;--awb-border-radius:10px 10px 10px 10px;--awb-width-large:25%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:7.68%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:7.68%;--awb-width-medium:25%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:7.68%;--awb-spacing-left-medium:7.68%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-21 fusion-sep-none fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color2);--awb-margin-top-small:10px;
7359--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:20px;"><div class="fusion-title-heading title-heading-left title-heading-tag" style="font-family:"Inter";font-style:normal;font-weight:500;margin:0;font-size:1em;line-height:1.1;">Newsletter</div></div>
7359<script type="text/javascript" src="https://webform.statslive.info/ow/eyJpdiI6ImxMU01rWjZkNG9KS2NJekV6SldKOTd2ZFdsQWY4amxoV2syMEhib21aZUE9IiwidmFsdWUiOiJVNDR1bWVxVEk4c3NnamI0Vjl1bFdmd1BmZGZYVnB4SFF1SWZVNUpobTRVPSIsIm1hYyI6ImY5ODFiOTIyZDRjYjQzODhjMTA2Y2FjNjgzODdkYTg4ZjYwNjE4ZTg3ZDQ5OTQ2NjA3NjlmZWE1ZmJjMzA2MDIifQ=="></script>
7359</div></div></div></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-5 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-background-color:#000000;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1742px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-38 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-flex-grow:0;--awb-flex-shrink:0;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-flex-grow-medium:;--awb-flex-shrink-medium:;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-flex-grow-small:;--awb-flex-shrink-small:;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-22 fusion-sep-none fusion-title-center fusion-title-text fusion-title-size-div" style="--awb-text-color:var(--awb-color1);--awb-margin-top-small:10px;--awb-margin-right-small:0px;--awb-margin-bottom-small:10px;--awb-margin-left-small:0px;--awb-font-size:var(--awb-typography4-font-size);"><div class="fusion-title-heading title-heading-center title-heading-tag" style="font-family:var(--awb-typography4-font-family);font-weight:var(--awb-typography4-font-weight);font-style:var(--awb-typography4-font-style);margin:0;letter-spacing:var(--awb-typography4-letter-spacing);text-transform:var(--awb-typography4-text-transform);font-size:1em;line-height:var(--awb-typography4-line-height);">Copyright © 2025 | Crooner International | Inc. Tous droits réservés.</div></div></div></div></div></div> 7360</div></div> 7361 </div> <!-- wrapper --> 7362 </div> <!-- #boxed-wrapper --> 7363 <a class="fusion-one-page-text-link fusion-page-load-link" tabindex="-1" href="#" aria-hidden="true">Page load link</a> 7364 7365 <div class="avada-footer-scripts"> 7366
7366<script type="text/javascript">var fusionNavIsCollapsed=function(e){var t,n;window.innerWidth<=e.getAttribute("data-breakpoint")?(e.classList.add("collapse-enabled"),e.classList.remove("awb-menu_desktop"),e.classList.contains("expanded")||window.dispatchEvent(new CustomEvent("fusion-mobile-menu-collapsed",{detail:{nav:e}})),(n=e.querySelectorAll(".menu-item-has-children.expanded")).length&&n.forEach(function(e){e.querySelector(".awb-menu__open-nav-submenu_mobile").setAttribute("aria-expanded","false")})):(null!==e.querySelector(".menu-item-has-children.expanded .awb-menu__open-nav-submenu_click")&&e.querySelector(".menu-item-has-children.expanded .awb-menu__open-nav-submenu_click").click(),e.classList.remove("collapse-enabled"),e.classList.add("awb-menu_desktop"),null!==e.querySelector(".awb-menu__main-ul")&&e.querySelector(".awb-menu__main-ul").removeAttribute("style")),e.classList.add("no-wrapper-transition"),clearTimeout(t),t=setTimeout(()=>{e.classList.remove("no-wrapper-transition")},400),e.classList.remove("loading")},fusionRunNavIsCollapsed=function(){var e,t=document.querySelectorAll(".awb-menu");for(e=0;e<t.length;e++)fusionNavIsCollapsed(t[e])};function avadaGetScrollBarWidth(){var e,t,n,l=document.createElement("p");return l.style.width="100%",l.style.height="200px",(e=document.createElement("div")).style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(l),document.body.appendChild(e),t=l.offsetWidth,e.style.overflow="scroll",t==(n=l.offsetWidth)&&(n=e.clientWidth),document.body.removeChild(e),jQuery("html").hasClass("awb-scroll")&&10<t-n?10:t-n}fusionRunNavIsCollapsed(),window.addEventListener("fusion-resize-horizontal",fusionRunNavIsCollapsed);</script>
7366<script type="speculationrules"> 7367{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/Avada/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 7368</script>
7368 7369 7370<!-- Bouton "Se connecter avec Google" ajouté par Site Kit --> 7371 <style> 7372 .googlesitekit-sign-in-with-google__frontend-output-button{max-width:320px} 7373 .interim-login #login>.googlesitekit-sign-in-with-google__frontend-output-button{margin-bottom:16px} 7374 </style> 7375
7375<script src="https://accounts.google.com/gsi/client"></script>
vendor: 1 bytes, line 7375
7375
7376<script data-siwg-config="{"clientID":"627160137294-bmva10un1rp5nnm4m01k9imm4p06s4sq.apps.googleusercontent.com","defaultButtonOptions":{"theme":"outline","text":"signin_with","shape":"rectangular"},"loginURI":"https:\/\/www.croonerradio.fr\/wp-login.php?action=googlesitekit_auth","isUserLoggedIn":false,"isWPLogin":false,"isPreview":false,"isWooCommerce":false,"isExistingUserFlow":false,"connectNonce":"","followsPostRedirect":false,"redirectTo":"","redirectCookieName":"googlesitekit_auth_redirect_to","redirectCookiePath":"\/","redirectCookieTTL":0,"nonceCookieName":"googlesitekit_auth_nonce","nonceCookiePath":"\/","nonceCookieTTL":900,"shouldShowOneTapPrompt":false}" src="https://www.croonerradio.fr/wp-content/plugins/google-site-kit/dist/assets/js/sign-in-with-google-5a9e012872c712a23a12.js"></script>
7376 7377 7378<!-- Terminer le bouton Se connecter avec Google ajouté par Site Kit -->
7379<script id="jquery-core-js" src="https://www.croonerradio.fr/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 7379
7379
7380<script id="googlesitekit-consent-mode-js" src="https://www.croonerradio.fr/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-consent-mode-755f1678e260138d789e.js"></script>
vendor: 1 bytes, line 7380
7380
7381<script id="fusion-scripts-js" src="https://www.croonerradio.fr/wp-content/uploads/fusion-scripts/3d721a8eac5ae0911c8ae00c3f078137.min.js?ver=3.16.1"></script>
7381 7382 <div class="dy-mini-mobile-bar pos-bottom radio-display" data-index="0" data-split-enable="1" data-split-keywords="Feat., Featuring., with, ft." style="background: rgba(112,112,112,0.2) !important; background-color: rgba(112,112,112,0.2) !important;" onclick="window.dyOpenedListFromMini = true; window.dyToggleFS(true); window.dyToggleFSList(true); event.stopPropagation();"> 7383 <div class="dy-podcast-progress-bg dy-podcast-mode-only" onclick="window.dyRadio.seek(event, this)" ontouchstart="window.dyRadio.seek(event, this)"> 7384 <div class="dy-podcast-progress-fill"></div> 7385 </div> 7386 <div class="dy-img-fixed-container" style="width: 45px; height: 45px; border-radius: 6px;"> 7387 <img class="dy-mobile-logo radio-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Logo" style="border-radius: 6px; transition: opacity 0.8s ease;"> 7388 <img class="dy-mobile-cover radio-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Cover" style="border-radius: 6px; opacity: 0; transition: opacity 0.8s ease;"> 7389 </div> 7390 <div class="dy-mobile-text"> 7391 <p class="on-air" style="margin-bottom: 2px;">ON AIR</p> 7392 <div class="dy-mobile-subtitle radio-subtitle">Chargement...</div> 7393 <div class="dy-mobile-title radio-title">Veuillez patienter...</div> 7394 7395 <div class="dy-podcast-mode-only" style="display: none;"> 7396 <span class="dy-podcast-mode-label" style="font-size: 7px; font-weight: 800; color: #a08053; text-transform: uppercase; letter-spacing: 1px; line-height: 1; margin-bottom: 2px; display: block;">PODCAST</span> 7397 <div class="dy-mini-podcast-title" style="margin-bottom: 4px; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; display: block !important; width: 100%;"> 7398 <span style="white-space: nowrap !important; display: inline-block !important;">Chargement...</span> 7399 </div> 7400 7401 <div class="dy-mini-podcast-controls" onclick="event.stopPropagation()" style="display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; gap: 10px !important;"> 7402 <button class="dy-podcast-skip dy-podcast-skip-round" data-dir="-1" title="Reculer" onclick="window.dyRadio.skip(this, event)" style="width: 19px; height: 19px; color: #a08053; background: transparent !important; border: none; padding: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 50%;"><i class="fas fa-undo-alt"></i></button> 7403 <button class="dy-podcast-skip dy-podcast-skip-round" data-dir="1" title="Avancer" onclick="window.dyRadio.skip(this, event)" style="width: 19px; height: 19px; color: #a08053; background: transparent !important; border: none; padding: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 50%;"><i class="fas fa-redo-alt"></i></button> 7404 <span class="dy-podcast-time" style="font-size: 11px; font-weight: 600; opacity: 0.9; margin-left: 2px; flex-shrink: 0;">00:00</span> 7405 </div> 7406 </div> 7407 </div> 7408 7409 <div class="dy-mobile-controls-group"> 7410 <div class="dy-mobile-play play-button fas fa-play" style="font-size: 20px !important;" onclick="dyRadio.toggle(event); event.stopPropagation();"></div> 7411 7412 <div class="dy-volume-wrap" onclick="window.dyRadio.toggleVolume(this, event)" ontouchstart="window.dyRadio.toggleVolume(this, event)"> 7413 <svg class="dy-volume-toggle-svg" viewBox="0 0 24 24" style="width: 28px; height: 28px; fill: currentColor; opacity: 0.7; cursor: pointer;"> 7414 <path d="M11.66 3.9a.75.75 0 0 1 .34.63v14.94a.75.75 0 0 1-1.23.58l-5.3-4.32H2.25A1.25 1.25 0 0 1 1 14.48v-4.96A1.25 1.25 0 0 1 2.25 8.27h3.22l5.3-4.32a.75.75 0 0 1 .89-.05z" /> 7415 <path class="dy-vol-wave" d="M14.8 9a.75.75 0 0 1 1.06 0 4.25 4.25 0 0 1 0 6 .75.75 0 1 1-1.06-1.06 2.75 2.75 0 0 0 0-3.88A.75.75 0 0 1 14.8 9z" /> 7416 <path class="dy-vol-wave" d="M17.88 5.82a.75.75 0 0 1 1.06 0 8.75 8.75 0 0 1 0 12.36.75.75 0 0 1-1.06-1.06 7.25 7.25 0 0 0 0-10.24.85.75 0 0 1 0-1.06z" /> 7417 </svg> 7418 <div class="dy-volume-popup" onclick="event.stopPropagation()" ontouchstart="event.stopPropagation()"> 7419 <div class="dy-volume-slider-bg" style="pointer-events: auto !important;" onmousedown="window.dyRadio.handleSlider(event, this)" ontouchstart="window.dyRadio.handleSlider(event, this)"> 7420 <div class="dy-mini-volume-rail"> 7421 <div class="dy-mini-volume-fill" style="height: 100%;"></div> 7422 </div> 7423 </div> 7424 </div> 7425 </div> 7426 7427 <div class="dy-mobile-more fas fa-list-ul" style="font-size: 20px !important;" onclick="window.dyOpenedListFromMini = true; window.dyToggleFS(true); window.dyToggleFSList(true); event.stopPropagation();"></div> 7428 7429 <div class="dy-mobile-fullscreen-toggle fas fa-expand" style="font-size: 20px !important;" onclick="window.dyToggleFS(true); event.stopPropagation();" title="Plein Ãcran"></div> 7430 </div> 7431 </div> 7432 7433 <!-- FULLSCREEN OVERLAY (Moved outside to avoid nesting issues) --> 7434 <div class="dy-mobile-fullscreen radio-display" onclick="window.dyToggleFS(false)" style="background: rgba(112,112,112,0.1) !important; background-color: rgba(112,112,112,0.1) !important;"> 7435 <div class="dy-fs-close has-text" onclick="window.dyToggleFS(false); event.stopPropagation();"> 7436 <i class="fas fa-chevron-down"></i>
7437 <span class="dy-fs-close-label" style="font-weight: 500; font-family: inherit; font-size: 14px;">Fermer</span> 7438 </div> 7439 7440 <div class="dy-fs-list-btn has-text" onclick="window.dyOpenedListFromMini = false; window.dyToggleFSList(true); event.stopPropagation();"> 7441 <span class="dy-fs-list-btn-label dy-fs-list-btn-station-label" style="font-weight: 500; font-family: inherit; font-size: 14px;">Liste des stations</span> 7442 <span class="dy-fs-list-btn-label dy-fs-list-btn-podcast-label" style="font-weight: 500; font-family: inherit; font-size: 14px; display: none;">Liste des podcasts</span> 7443 <i class="fas fa-list"></i> 7444 </div> 7445 7446 <div class="dy-fs-header"> 7447 <div class="dy-fs-clock">00:00</div> 7448 <div class="dy-fs-live-badge on-air">ON AIR</div> 7449 <div class="dy-fs-station-name radio-station-name" style="margin-top: 1%; font-weight: normal; font-family: inherit; font-size: 14px; color: #ffffff; display: block;"></div> 7450 <div class="dy-fs-podcast-label dy-podcast-mode-label" style="display:none; font-size: 9px; font-weight: 700; letter-spacing: 2px; color: #a08053; text-transform: uppercase;">PODCAST</div> 7451 </div> 7452 7453 <div class="dy-fs-img-wrap"> 7454 <div class="dy-fs-img-inner"> 7455 <img class="dy-fs-logo radio-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Logo"> 7456 <img class="dy-fs-cover radio-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Cover" style="opacity: 0;"> 7457 </div> 7458 </div> 7459 7460 <div class="dy-fs-content"> 7461 <div class="dy-fs-artist radio-subtitle">Chargement...</div> 7462 <div class="dy-fs-title radio-title">Veuillez patienter...</div> 7463 7464 <div class="dy-fs-podcast-title-wrap" style="width: 100%; min-width: 0; overflow: hidden; margin-bottom: 10px; text-align: center;"> 7465 <h2 class="dy-mini-podcast-title " style="font-size: 16px; color: #ffffff; padding-top: 0px; white-space: normal; margin: 0; width: 100%; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; line-height: 1.2;">Chargement...</h2> 7466 </div> 7467 <div class="dy-mini-podcast-controls" style="flex-direction: column; gap: 5px; margin-top: 30px; width: 100%;" onclick="event.stopPropagation()"> 7468 <div class="dy-podcast-time" style="font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 400; margin-bottom: 0; opacity: 1; color: #c9ac83; text-align: center;">00:00</div> 7469 7470 <div class="dy-fs-podcast-progress-row" style="width: 100%; display: flex; align-items: center; padding: 0 25px; box-sizing: border-box; margin-bottom: 25px;"> 7471 <div class="dy-podcast-progress-bg" style="flex: 1; height: 32px; cursor: pointer;" onclick="window.dyRadio.seek(event, this)" ontouchstart="window.dyRadio.seek(event, this)"> 7472 <div class="dy-podcast-progress-rail"> 7473 <div class="dy-podcast-progress-fill"></div> 7474 </div> 7475 </div> 7476 </div> 7477 7478 <div class="dy-fs-podcast-main-ctrls" style="display: flex; align-items: center; justify-content: center; gap: 35px; margin-bottom: 30px;"> 7479 <button class="dy-podcast-skip" style="transform: scale(1.6); opacity: 0.8; font-size: 20px; color: #a08053;" data-dir="-1" data-skip="15" title="Reculer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 7480 <div class="dy-fs-play play-button fas fa-play" style="font-size: 55px; color: #fff; margin: 0 15px; cursor: pointer; display: flex !important; align-items: center; justify-content: center;" onclick="dyRadio.toggle(event); event.stopPropagation();"></div> 7481 <button class="dy-podcast-skip" style="transform: scale(1.6); opacity: 0.8; font-size: 20px; color: #a08053;" data-dir="1" data-skip="15" title="Avancer de 15s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 7482 <a href="#" download="" class="dy-player-download-btn dy-podcast-mode-only" title="Télécharger" style="display:none; color:#fff; text-decoration:none; transform: scale(1.8); margin-left:20px; opacity:0.8;" onclick="event.stopPropagation()"><i class="fas fa-download"></i></a> 7483 </div> 7484 7485 <div class="dy-fs-podcast-volume-row" style="width: 100%; display: flex; align-items: center; padding: 0 35px; box-sizing: border-box; gap: 15px; margin-top: 5px;"> 7486 <i class="fas fa-volume-down" style="font-size: 14px; opacity: 0.5;"></i> 7487 <div class="dy-volume-slider-bg dy-fs-slider-bg" style="flex: 1; height: 30px; display: flex; align-items: center; cursor: pointer;" onmousedown="window.dyRadio.handleSlider(event, this)" ontouchstart="window.dyRadio.handleSlider(event, this)"> 7488 <div class="dy-fs-slider-fill" style="width: 100%;"></div> 7489 </div> 7490 <i class="fas fa-volume-up" style="font-size: 14px; opacity: 0.5;"></i> 7491 </div> 7492 </div> 7493 </div> 7494 7495 <div class="dy-fs-controls" style="display: flex;"> 7496 <div class="dy-fs-play play-button fas fa-play dy-podcast-hide" onclick="dyRadio.toggle(event); event.stopPropagation();"></div> 7497 7498 <div class="dy-fs-vol-wrap dy-volume-wrap dy-podcast-hide" style="width: 100%; display: flex; align-items: center; padding: 0 35px; box-sizing: border-box; gap: 15px; justify-content: center; margin-top: 10px;"> 7499 <i class="fas fa-volume-down" style="font-size: 14px; opacity: 0.5;"></i> 7500 <div class="dy-volume-slider-bg dy-fs-slider-bg" style="flex: 1; max-width: 250px; height: 30px; display: flex; align-items: center; cursor: pointer; margin: 0 !important;" onmousedown="window.dyRadio.handleSlider(event, this)" ontouchstart="window.dyRadio.handleSlider(event, this)"> 7501 <div class="dy-fs-slider-fill" style="width: 100%;"></div> 7502 </div> 7503 <i class="fas fa-volume-up" style="font-size: 14px; opacity: 0.5;"></i> 7504 </div> 7505 </div> 7506 7507 <!-- FULLSCREEN LIST DRAWER --> 7508 <div class="dy-fs-list-drawer" onclick="event.stopPropagation()"> 7509 <div class="dy-fs-list-close"> 7510 <div style="display: flex; align-items: center; gap: 15px;">
7511 <span class="dy-fs-list-title-text">CHOISIR UNE STATION</span> 7512 <div class="dy-fs-list-modes" style="display: none; align-items: center; gap: 12px; background: rgba(255,255,255,0.05); padding: 5px 12px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.1);"> 7513 <i class="fas fa-music dy-fs-mode-radio" onclick="window.dyRadio.toggleFSListMode(true, event)" style="cursor: pointer; font-size: 14px;" title="Stations Radio"></i> 7514 <i class="fas fa-podcast dy-fs-mode-podcast" onclick="window.dyRadio.toggleFSListMode(false, event)" style="cursor: pointer; font-size: 14px;" title="Ãpisodes Podcast"></i> 7515 </div> 7516 </div> 7517 <i class="fas fa-times" onclick="window.dyToggleFSList(false)" style="cursor: pointer;"></i> 7518 </div> 7519 <div class="dy-fs-list-scroll"> 7520 <!-- Dynamically filled --> 7521 </div> 7522 </div> 7523 </div> 7524 <div class="dy-sticky-footer-pc pos-bottom radio-display" 7525 data-index="0" 7526 onclick="window.dyRadio.toggleDropdown(this, event)" 7527 style="--dy-dd-bg: rgba(36,36,36,0.95);"> 7528 7529 7530 <div class="dy-pc-left"> 7531 <div style="display: flex; align-items: center; gap: 10px;"> 7532 <button class="dy-pc-skip dy-podcast-mode-only" data-dir="-1" title="Reculer" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 7533 <span class="play-button fas fa-play" onclick="dyRadio.toggle(event); event.stopPropagation();"></span> 7534 <button class="dy-pc-skip dy-podcast-mode-only" data-dir="1" title="Avancer" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button> 7535 <a href="#" download="" class="dy-player-download-btn dy-podcast-mode-only" title="Télécharger" style="display:none; color:inherit; text-decoration:none; margin-left:10px; opacity:0.8; transition:opacity 0.3s;" onclick="event.stopPropagation()"><i class="fas fa-download" style="font-size:20px;"></i></a> 7536 </div> 7537 7538 <div class="dy-img-fixed-container" style="width: 55px; height: 55px; margin-left: 10px; border-radius: 4px;"> 7539 <img class="radio-logo-layer" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Logo" style="border-radius: 4px; transition: opacity 0.8s ease;"> 7540 <img class="radio-cover" src="https://www.croonerradio.fr/datas/logos/512w/LOGO-CROONER-RADIO-TDR.jpg" alt="Cover" style="border-radius: 4px; opacity: 0; transition: opacity 0.8s ease;"> 7541 </div> 7542 7543 <div class="radio-text"> 7544 <p class="on-air">ON AIR</p> 7545 <div class="radio-subtitle">Chargement...</div> 7546 <div class="radio-title">Veuillez patienter...</div> 7547 7548 <div class="dy-footer-podcast-meta dy-podcast-mode-only" style="display: none; width: 100%;"> 7549 <p class="dy-footer-podcast-date" style="font-size: 10px; opacity: 0.6; margin: 0; margin-bottom: 1px;"></p> 7550 <p class="dy-footer-podcast-title" style="font-size: 14px; font-weight: 700; color: #fff; margin: 0; line-height: 1.2; margin-bottom: 5px;"></p> 7551 7552 <div class="dy-mini-podcast-controls" style="display: flex; align-items: center; gap: 10px; width: 300px; max-width: 100%;" onclick="event.stopPropagation()"> 7553 <span class="dy-podcast-time">00:00</span> 7554 <div class="dy-podcast-progress-bg" style="flex: 1;"> 7555 <div class="dy-podcast-progress-rail"> 7556 <div class="dy-podcast-progress-fill"></div> 7557 </div> 7558 </div> 7559 </div> 7560 </div> 7561 </div> 7562 </div> 7563 7564 <div class="dy-pc-right"> 7565 <div class="dy-pc-btn-podcast fas fa-podcast" style="font-size: 22px; opacity: 0.6; cursor: pointer;" title="" onclick="window.dyRadio.toggleDropdown(this, event, 'podcast')"></div> 7566 <div class="dy-pc-btn-radio fas fa-music" style="font-size: 22px; opacity: 0.6; cursor: pointer;" title="Liste des stations" onclick="window.dyRadio.toggleDropdown(this, event, 'radio')"></div> 7567 7568 <!-- Cast Button --> 7569 7570 <!-- Volume Desktop --> 7571 <div class="dy-volume-wrap" onclick="window.dyRadio.toggleVolume(this, event)" ontouchstart="window.dyRadio.toggleVolume(this, event)"> 7572 <svg class="dy-volume-toggle-svg" viewBox="0 0 24 24" style="width: 28px; height: 28px; fill: currentColor; opacity: 0.7; cursor: pointer;"> 7573 <path d="M11.66 3.9a.75.75 0 0 1 .34.63v14.94a.75.75 0 0 1-1.23.58l-5.3-4.32H2.25A1.25 1.25 0 0 1 1 14.48v-4.96A1.25 1.25 0 0 1 2.25 8.27h3.22l5.3-4.32a.75.75 0 0 1 .89-.05z" /> 7574 <path class="dy-vol-wave" d="M14.8 9a.75.75 0 0 1 1.06 0 4.25 4.25 0 0 1 0 6 .75.75 0 1 1-1.06-1.06 2.75 2.75 0 0 0 0-3.88A.75.75 0 0 1 14.8 9z" /> 7575 <path class="dy-vol-wave" d="M17.88 5.82a.75.75 0 0 1 1.06 0 8.75 8.75 0 0 1 0 12.36.75.75 0 0 1-1.06-1.06 7.25 7.25 0 0 0 0-10.24.85.75 0 0 1 0-1.06z" /> 7576 </svg> 7577 <div class="dy-volume-popup" onclick="event.stopPropagation()"> 7578 <div class="dy-volume-slider-bg" onmousedown="window.dyRadio.handleSlider(event, this)" ontouchstart="window.dyRadio.handleSlider(event, this)"> 7579 <div class="dy-mini-volume-rail"> 7580 <div class="dy-mini-volume-fill" style="height: 100%;"></div> 7581 </div> 7582 </div> 7583 </div> 7584 </div> 7585 </div> 7586 7587 <div class="dy-mini-dropdown" onclick="event.stopPropagation()"></div> 7588 <div class="dy-expand-mini-btn" data-sticky-ep-btn="1" style="display:none; align-items:center; gap:5px; cursor:pointer; color:#ffffff;" onclick="window.dyRadio.toggleDropdown(this.closest('.radio-display'), event)"> 7589 <i class="fas fa-podcast" style="font-size:9px; opacity: 0.8;"></i>
7590 <span class="dy-expand-text" style="font-size:9px; color:#ffffff; font-weight:700; text-transform:uppercase; letter-spacing:0.3px; opacity: 0.8;">Ãpisodes</span> 7591 </div> 7592 </div> 7593
7593<script async src="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"></script>
7593 7594
7594<script> 7595 (function() { 7596 const dy = { 7597 globalJson: "https:\/\/www.croonerradio.com\/datas\/live\/titles.json", 7598 ajaxurl: "https:\/\/www.croonerradio.fr\/wp-admin\/admin-ajax.php", 7599 stations: [{"name":"Crooner Radio","name_short":"Crooner Radio","flux":"https:\/\/direct.croonerradio.fr\/croonerradio-midfi.mp3","json_key":"crooner","link":"https:\/\/www.croonerradio.fr\/player\/","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-TDR.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_dab_background-copie-2026.webp","bg_color":"#707070","is_default":1,"sort_order":0,"share":"\/stations-de-radio\/crooner-radio-jazz-soul-variete-international-haut-de-gamme\/","is_protected":1},{"name":"Crooner Radio American","name_short":"American","flux":"https:\/\/croonerradio_american.ice.infomaniak.ch\/croonerradio-american-midfi.mp3","json_key":"crooner_american","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_american","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-AMERICAN.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_american_rat_pack_background_v2-2026.webp","bg_color":"#30448d","is_default":0,"sort_order":1,"share":"\/stations-de-radio\/crooner-radio-american-webradio\/","is_protected":0},{"name":"Crooner Radio Barbra Streisand","name_short":"Barbra Streisand","flux":"https:\/\/croonerradio_barbrastreisand.ice.infomaniak.ch\/croonerradio-barbrastreisand-mi
7599dfi.mp3","json_key":"crooner_b_streisand","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_b_streisand","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-BARBRA-STREISAND.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_barbra_streisand_background-copie.webp","bg_color":"#a1045b","is_default":0,"sort_order":2,"share":"\/stations-de-radio\/crooner-radio-barbra-streisand-webradio-artiste-musique-discographie-complete\/","is_protected":0},{"name":"Crooner Radio Céline Dion","name_short":"Céline Dion","flux":"https:\/\/croonerradio_celinedion.ice.infomaniak.ch\/croonerradio-celinedion-midfi.mp3","json_key":"crooner_c_dion","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_c_dion","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-CELINE-DION.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_celine_dion_background_v2-copie.webp","bg_color":"#740293","is_default":0,"sort_order":3,"share":"\/stations-de-radio\/crooner-radio-celine-dion-webradio-artiste-musique-discographie-complete\/","is_protected":0},{"name":"Crooner Radio Classic Gold","name_short":"Classic Gold","flux":"https:\/\/croonerradio_classicgold.ice.infomaniak.ch\/croonerradio-classicgold-midfi.mp3","json_key":"crooner_classicgold","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_classicgold","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-CLASSIC-GOLD.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_classic_gold_background.webp","bg_color":"#b87b1e","is_default":0,"sort_order":4,"share":"\/stations-de-radio\/crooner-radio-classic-gold-webradio\/","is_protected":0},{"name":"Crooner Radio Dean Martin","name_short":"Dean Martin","flux":"https:\/\/croonerradio_deanmartin.ice.infomaniak.ch\/croonerradio-deanmartin-midfi.mp3","json_key":"crooner_deanmartin","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_deanmartin","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-DEAN-MARTIN.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_dean_martin_background.webp","bg_color":"#237957","is_default":0,"sort_order":5,"share":"\/stations-de-radio\/crooner-radio-dean-martin-webradio-artiste-musique-discographie-complete\/","is_protected":0},{"name":"Crooner Radio Elvis Presley","name_short":"Elvis Presley","flux":"https:\/\/croonerradio_elvispresley.ice.infomaniak.ch\/croonerradio-elvispresley-midfi.mp3","json_key":"crooner_elvispresley","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_elvispresley","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-ELVIS-PRESLEY.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_elvis_presley_background-copie.webp","bg_color":"#9b0000","is_default":0,"sort_order":6,"share":"\/stations-de-radio\/crooner-radio-elvis-presley-webradio-artiste-musique-discographie-complete\/","is_protected":0},{"name":"Crooner Radio Frank Sinatra","name_short":"Frank Sinatra","flux":"https:\/\/croonerradio_franksinatra.ice.infomaniak.ch\/croonerradio-franksinatra-midfi.mp3","json_key":"crooner_franksinatra","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_franksinatra","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-FRANK-SINATRA.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_frank_sinatra_background.webp","bg_color":"#1f1c8d","is_default":0,"sort_order":7,"share":"\/stations-de-radio\/crooner-radio-frank-sinatra-webradio-artiste-musique-discographie-complete\/","is_protected":0},{"name":"Crooner Radio Frenchy","name_short":"Frenchy","flux":"https:\/\/croonerradio_frenchy.ice.infomaniak.ch\/croonerradio-frenchy-midfi.mp3","json_key":"crooner_frenchy","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_frenchy","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-FRENCHY.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_frenchy_background.webp","bg_color":"#3747a4","is_default":0,"sort_order":8,"share":"\/stations-de-radio\/crooner-radio-frenchy-webradio\/","is_protected":0},{"name":"Crooner Radio Gentlemen Drivers","name_short":"Gentlemen Drivers","flux":"https:\/\/croonerradio_gentlemendrivers.ice.infomaniak.ch\/croonerradio-gentlemendrivers-midfi.mp3","json_key":"crooner_gd","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_gd","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-GENTLEMEN-DRIVERS.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_barry_white_gentlemen_drivers_background.webp","bg_color":"#a05a00","is_default":0,"sort_order":9,"share":"\/stations-de-radio\/crooner-radio-gentlemen-drivers-webradio\/","is_protected":0},{"name":"Crooner Radio Italiano","name_short":"Italiano","flux":"https:\/\/croonerradio_italiano.ice.infomaniak.ch\/croonerradio-italiano-midfi.mp3","json_key":"crooner_italiano","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_italiano","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-ITALIANO.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_italiano_luis_prima_background.webp","bg_color":"#2d732b","is_default":0,"sort_order":10,"share":"\/stations-de-radio\/crooner-radio-italiano-webradio\/","is_protected":0},{"name":"Crooner Radio Julio Iglesias","name_short":"Julio Iglesias","flux":"https:\/\/croonerradio_julioiglesias.ice.infomaniak.ch\/croonerradio-julioiglesias-midfi.mp3","json_key":"crooner_j_iglesias","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_j_iglesias","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-JULIO-IGLESIAS.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_julio_iglesias_background_v2.webp","bg_color":"#ad2e00","is_default":0,"sort_order":11,"share":"\/stations-de-radio\/crooner-radio-julio-iglesias-webradio-artiste-musique-discographie-complete\/","is_protected":0},{"name":"Crooner Radio Legends","name_short":"Legends","flux":"https:\/\/croonerradio_legends.ice.infomaniak.ch\/croonerradio-legends-midfi.mp3","json_key":"crooner_legends","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_legends","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-LEGENDS.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_legend_billie_holiday_background.webp","bg_color":"#b76800","is_default":0,"sort_order":12,"share":"\/stations-de-radio\/crooner-radio-legends-webradio\/","is_protected":0},{"name":"Crooner Radio Lounge","name_short":"Lounge","flux":"https:\/\/croonerradio_lounge.ice.infomaniak.ch\/croonerradio-lounge-midfi.mp3","json_key":"crooner_lounge","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_lounge","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-LOUNGE.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_lounge_background_v2026.webp","bg_color":"#2d54a9","is_default":0,"sort_order":13,"share":"\/stations-de-radio\/crooner-radio-lounge-webradio\/","is_protected":0},{"name":"Crooner Radio Love","name_short":"Love","flux":"https:\/\/croonerradio_love.ice.infomaniak.ch\/croonerradio-love-midfi.mp3","json_key":"crooner_love","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_love","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-LOVE.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_love_background_v2_2026.webp","bg_color":"#7d2783","is_default":0,"sort_order":14,"share":"\/stations-de-radio\/crooner-radio-love-webradio\/","is_protected":0},{"name":"Crooner Radio Michael Bublé","name_short":"Michael Bublé","flux":"https:\/\/croonerradio_michaelbuble.ice.infomaniak.ch\/croonerradio-michaelbuble-midfi.mp3","json_key":"crooner_michaelbuble","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_michaelbuble","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-MICHAEL-BUBLE.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_michael_buble_background.webp","bg_color":"#247266","is_default":0,"sort_order":15,"share":"\/stations-de-radio\/crooner-radio-michael-buble-webradio-artiste-musique-discographie-complete\/","is_protected":0},{"name":"Crooner Radio Movies","name_short":"Movies","flux":"https:\/\/croonerradio_movies.ice.infomaniak.ch\/croonerradio-movies-midfi.mp3","json_key":"crooner_movies","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_movies","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-MOVIES.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_lalo_schifrin_movies_background-copie.webp","bg_color":"#bb7b2a","is_default":0,"sort_order":16,"share":"\/stations-de-radio\/crooner-radio-movies-webradio\/","is_protected":0},{"name":"Crooner Radio Premium","name_short":"Premium","flux":"https:\/\/croonerradio_inprivate.ice.infomaniak.ch\/croonerradio-inprivate-midfi.mp3","json_key":"crooner_premium","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_premium","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-PREMIUM.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_premium_nat_king_cole_background-copie.webp","bg_color":"#9a6d56","is_default":0,"sort_order":17,"share":"\/stations-de-radio\/crooner-radio-premium-webradio\/","is_protected":0},{"name":"Crooner Radio Swing","name_short":"Swing","flux":"https:\/\/croonerradio_swing.ice.infomaniak.ch\/croonerradio-swing-midfi.mp3","json_key":"crooner_swing","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_swing","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-SWING.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_swing_background-copie2.webp","bg_color":"#53298e","is_default":0,"sort_order":18,"share":"\/stations-de-radio\/crooner-radio-swing-webradio\/","is_protected":0},{"name":"Crooner Radio Summer","name_short":"Summer","flux":"https:\/\/croonerradio_summer.ice.infomaniak.ch\/croonerradio-summer-midfi.mp3","json_key":"crooner_summer","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_summer","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-SUMMER.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_summer_background_v2-copie.webp","bg_color":"#c33753","is_default":0,"sort_order":19,"share":"\/stations-de-radio\/crooner-radio-summer-webradio\/","is_protected":0},{"name":"Crooner Radio Zen","name_short":"Zen","flux":"https:\/\/croonerradio_zen.ice.infomaniak.ch\/croonerradio-zen-midfi.mp3","json_key":"crooner_zen","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_zen","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-ZEN.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_zen_background.webp","bg_color":"#307836","is_default":0,"sort_order":20,"share":"\/stations-de-radio\/crooner-radio-zen-webradio\/","is_protected":0},{"name":"Crooner Radio Christmas","name_short":"Christmas","flux":"https:\/\/croonerradio_christmas.ice.infomaniak.ch\/croonerradio-christmas-midfi.mp3","json_key":"crooner_christmas","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_christmas","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-CHRISTMAS.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_christmas_background.webp","bg_color":"#b40000","is_default":0,"sort_order":21,"share":"\/tations-de-radio\/crooner-radio-christmas-webradio","is_protected":0},{"name":"Crooner Radio Christmas Vintage","name_short":"Christmas Vintage","flux":"https:\/\/croonerradio-christmasvintage.ice.infomaniak.ch\/croonerradio-christmasvintage-midfi.mp3","json_key":"crooner_christmasold","link":"https:\/\/www.croonerradio.fr\/player\/index.html?radio=crooner#crooner_christmas_vintage","logo":"https:\/\/www.croonerradio.fr\/datas\/logos\/512w\/LOGO-CROONER-RADIO-WR-CHRISTMAS-VINTAGE.jpg","bg_image":"https:\/\/www.croonerradio.fr\/wp-content\/uploads\/2026\/05\/station_crooner_radio_christmas_vintage_background-v2.webp","bg_color":"#7a0000","is_default":0,"sort_order":22,"share":"\/stations-de-radio\/crooner-radio-christmas-vintage-webradio\/","is_protected":0}], 7600 switchTime: 5, 7601 miniSwitchTime: 5, 7602 miniDdSwitchTime: 5, 7603 listDdSwitchTime: 5, 7604 carouselBwBg: 1, 7605 onAirText: "ON AIR", 7606 onAirColor: "#d60000", 7607 marqueeEnableFS: true, 7608 splitKeywordsFS: "Feat., Featuring., with, ft.", 7609 glassOp: 0.05, 7610 backdropBlur: 1, 7611 backdropOp: 0.2, 7612 bgMode: "image", 7613 miniAction: "dropdown", 7614 miniHoverRadioL1: "Ouvrir", 7615 miniHoverRadioL2: "la liste des stations", 7616 miniHoverPodcastL1: "Episodes", 7617 miniHoverPodcastL2: "", 7618 expandRadioMsg: "Stations", 7619 expandPodcastMsg: "\u00c9pisodes", 7620 expandEnable: true, 7621 podSkipTime: 15, 7622 sidebarPCHoverRadioL1: "Ouvrir", 7623 sidebarPCHoverRadioL2: "la liste des stations", 7624 sidebarPCHoverPodcastL1: "Episodes", 7625 sidebarPCHoverPodcastL2: "", 7626 sidebarPcPodcastHeaderText: "Nos derniers podcasts", 7627 sidebarDynamicBg: true, 7628 sidebarDynamicOpacity: 30 / 100, 7629 sidebarDynamicDarken: 70 / 100, 7630 mobileDynamicBg: true, 7631 mobileDynamicOpacity: 20 / 100, 7632 mobileFsDynamicBg: true, 7633 mobileFsDynamicOpacity: 10 / 100, 7634 listDynamicBg: false, 7635 listDynamicOpacity: 1 / 100, 7636 prerollAntiSkip: true, 7637 prerollAntiStop: true, 7638 prerollDuration: 30, 7639 prerollTextEnable: false, 7640 prerollTextArtist: "Publicit\u00e9", 7641 prerollTextTitle: "La musique revient...", 7642 fallbackEnable: true, 7643 fallbackDownloadEnable: false, 7644 globalFallbackRSS: "https:\/\/www.croonerradio.fr\/datas\/podcasts-rss\/crooner-and-friends.xml", 7645 autoplayNext: true, 7646 defVolRadio: 45 / 100, 7647 defVolPodcast: 100 / 100, 7648 hasManualVolume: false, 7649 truncateArtist: 25, 7650 truncateTitle: 30, 7651 bgOpacity: 0.2, 7652 useGradient: true, 7653 displayMode: 'logo', // Start with logo as requested 7654 failedImgs: (window.dyRadio && window.dyRadio.failedImgs) ? window.dyRadio.failedImgs : new Set(), 7655 txtArea: document.createElement("textarea"), 7656 currentEpisodes: [], // Store episodes from the active feed 7657 7658 openCast: (e) => { 7659 if (e) e.stopPropagation(); 7660 7661 // Priorité 1 : Remote Playback API (Standard moderne Chrome/Edge/
7661Safari) 7662 if (dy.audio.remote && typeof dy.audio.remote.prompt === 'function') { 7663 dy.audio.remote.prompt().catch(err => { 7664 console.error("Streamcast Error:", err); 7665 }); 7666 return; 7667 } 7668 7669 // Priorité 2 : Google Cast Framework (si chargé) 7670 if (window.cast && cast.framework) { 7671 const context = cast.framework.CastContext.getInstance(); 7672 context.requestSession().then(() => { 7673 console.log("Cast session started"); 7674 // Le SDK gère la suite via l'élément audio si configuré 7675 }).catch(err => { 7676 if (err !== 'cancel') { 7677 alert("Erreur Cast : " + err); 7678 } 7679 }); 7680 return; 7681 } 7682 7683 // Fallback : Message d'incompatibilité 7684 alert("Votre navigateur ne semble pas supporter le Streamcast nativement. Essayez d'utiliser Chrome, Edge ou Safari."); 7685 }, 7686 7687 toggleVolume: (el, e) => { 7688 if (e) { 7689 e.stopPropagation(); 7690 if (e.target.closest('.dy-volume-popup')) return; 7691 7692 const now = Date.now(); 7693 if (el._lastToggle && (now - el._lastToggle < 400)) return; 7694 el._lastToggle = now; 7695 } 7696 7697 const isActive = el.classList.contains('is-active') || el.getAttribute('data-active') === 'true'; 7698 7699 // Close other popups 7700 document.querySelectorAll('.dy-volume-wrap').forEach(other => { 7701 if (other !== el) { 7702 other.classList.remove('is-active'); 7703 other.setAttribute('data-active', 'false'); 7704 if (other._volTimer) clearTimeout(other._volTimer); 7705 } 7706 }); 7707 7708 if (isActive) { 7709 el.classList.remove('is-active'); 7710 el.setAttribute('data-active', 'false'); 7711 el.classList.add('dy-force-hide'); 7712 if (el._volTimer) clearTimeout(el._volTimer); 7713 } else { 7714 el.classList.remove('dy-force-hide'); 7715 el.classList.add('is-active'); 7716 el.setAttribute('data-active', 'true'); 7717 if (el._volTimer) clearTimeout(el._volTimer); 7718 el._volTimer = setTimeout(() => { 7719 el.classList.remove('is-active'); 7720 el.setAttribute('data-active', 'false'); 7721 el.classList.remove('dy-force-hide'); 7722 }, 6000); 7723 } 7724 7725 if (!el._boundMouseLeave) { 7726 el.addEventListener('mouseleave', () => { 7727 el.classList.remove('dy-force-hide'); 7728 }); 7729 el._boundMouseLeave = true; 7730 } 7731 }, 7732 7733 handleSlider: (e, bg) => { 7734 if (!bg) return; 7735 e.stopPropagation(); 7736 const isVertical = !bg.classList.contains('dy-fs-slider-bg'); 7737 7738 const update = (moveE) => { 7739 moveE.preventDefault(); 7740 const clientX = moveE.touches ? moveE.touches[0].clientX : moveE.clientX; 7741 const clientY = moveE.touches ? moveE.touches[0].clientY : moveE.clientY; 7742 const rect = bg.getBoundingClientRect(); 7743 let pct; 7744 7745 if (isVertical) { 7746 pct = 1 - (clientY - rect.top) / rect.height; 7747 } else {
7748 pct = (clientX - rect.left) / rect.width; 7749 } 7750 7751 pct = Math.max(0, Math.min(1, pct)); 7752 dy.updateVolume(pct); 7753 7754 // Keep popup open 7755 const wrap = bg.closest('.dy-volume-wrap'); 7756 if (wrap && wrap._volTimer) { 7757 clearTimeout(wrap._volTimer); 7758 wrap._volTimer = setTimeout(() => { 7759 wrap.classList.remove('is-active'); 7760 wrap.setAttribute('data-active', 'false'); 7761 }, 6000); 7762 } 7763 }; 7764 7765 const stop = () => { 7766 document.removeEventListener('mousemove', update); 7767 document.removeEventListener('mouseup', stop); 7768 document.removeEventListener('touchmove', update); 7769 document.removeEventListener('touchend', stop); 7770 }; 7771 7772 document.addEventListener('mousemove', update); 7773 document.addEventListener('mouseup', stop); 7774 document.addEventListener('touchmove', update, { 7775 passive: false 7776 }); 7777 document.addEventListener('touchend', stop); 7778 update(e); 7779 }, 7780 7781 seek: (e, bg) => { 7782 if (!dy.audio || !dy.audio.duration || dy.audio.duration === Infinity) return; 7783 e.stopPropagation(); 7784 const rect = bg.getBoundingClientRect(); 7785 const clientX = e.touches ? e.touches[0].clientX : e.clientX; 7786 const pct = Math.max(0, Math.min(1, (clientX - rect.left) / rect.width)); 7787 dy.audio.currentTime = dy.audio.duration * pct; 7788 }, 7789 7790 closeVolumePopups: () => { 7791 document.querySelectorAll('.dy-volume-wrap').forEach(el => { 7792 el.classList.remove('is-active'); 7793 el.classList.remove('dy-force-hide'); 7794 el.setAttribute('data-active', 'false'); 7795 if (el._volTimer) clearTimeout(el._volTimer); 7796 }); 7797 }, 7798 7799 init: () => { 7800 // DOM Detachment Strategy (v4.6 - Avada Fix) 7801 // Move critical player elements to <body> to bypass container constraints 7802 document.querySelectorAll('.dy-mini-mobile-bar, .dy-sticky-footer-pc, .dy-mobile-fullscreen').forEach(el => { 7803 if (el && el.parentNode !== document.body) { 7804 document.body.appendChild(el); 7805 } 7806 }); 7807 7808 // Scan for podcast list settings on current page (v4.6) 7809 const pList = document.querySelector('.dy-podcast-list'); 7810 if (pList) { 7811 dy.activeFallbackDownloadEnable = pList.dataset.downloadEnable; 7812 } 7813 7814 dy.miniHoverRadio = (dy.miniHoverRadioL1 + ' ' + dy.miniHoverRadioL2).trim(); 7815 dy.miniHoverPodcast = (dy.miniHoverPodcastL1 + ' ' + dy.miniHoverPodcastL2).trim(); 7816 7817 7818 // Helper for Ping-Pong Marquee 7819 dy.applyMarquee = (el, text, delay = 50) => { 7820 if (!el) return; 7821 // Only update if text actually changed to avoid restart loop 7822 if (el.dataset.raw === text) return; 7823 el.dataset.raw = text; 7824 el.innerHTML = `<span>${text}</span>`; 7825 7826 setTimeout(() => { 7827 // Marquee Logic (v4.6 - Intelligent) 7828 const span = el.querySelector('span'); 7829 if (!span) return; 7830 el.classList.remove('is-scrolling', 'is-v-scrolling'); 7831 span.style.transform = ''; 7832 7833 const card = el.closest('.radio-display'); 7834 const isPod = card && card.classList.contains('dy-podcast-mode'); 7835 7836 // Determine if we should use vertical scrolling (multi-line titles in CARDS or FullScreen) 7837 const isVertical = isPod && el.classList.contains('dy-mini-podcast-title') && (el.closest('.dy-mini-player') || el.closest('.dy-mobile-fullscreen')); 7838 7839 if (isVertical) { 7840 // Mode Podcast Card : Scrolling Vertical si > 2 lignes 7841 const diffV = el.offsetHeight - span.offsetHeight; 7842 if (diffV < -2) { 7843 el.style.setProperty('--dy-scroll-v-dist', diffV + 'px'); 7844 el.classList.add('is-v-scrolling'); 7845 } 7846 } else { 7847 // Mode Horizontal (Radio ou Footer Podcast) 7848 // Use getBoundingClientRect for sub-pixel precision on mobile 7849 const containerWidth = el.getBoundingClientRect().width; 7850 const textWidth = span.getBoundingClientRect().width; 7851 const diffH = containerWidth - textWidth; 7852 7853 if (diffH < -5) { 7854 el.style.setProperty('--dy-scroll-dist', diffH + 'px'); 7855 el.classList.add('is-scrolling'); 7856 } 7857 } 7858 }, 150); 7859 }; 7860 7861 // Helper for Hover Content 7862 dy.updateHoverText = (d, active) => { 7863 // En mode Podcast, on désactive l'ancien système si le nouveau bouton est lÃ
7864 const isPod = d.classList.contains('dy-podcast-mode'); 7865 if (dy.expandEnable && isPod && (d.classList.contains('dy-mini-player') || d.classList.contains('dy-sticky-footer-pc'))) return; 7866 const sub = d.querySelector('.radio-subtitle'); 7867 const tit = d.querySelector('.radio-title'); 7868 const onAir = d.querySelector('.on-air'); 7869 const podTit = d.querySelector('.dy-mini-podcast-title'); 7870 7871 if (d._hT1) clearTimeout(d._hT1); 7872 if (d._hT2) clearTimeout(d._hT2); 7873 7874 const isPodMode = d.classList.contains('dy-podcast-mode'); 7875 const isMini = d.classList.contains('dy-mini-player'); 7876 const isPC = d.classList.contains('dy-sticky-footer-pc'); 7877 const showRadioList = (!dy.podcastMeta || dy.forceRadioList); 7878 7879 if (active) { 7880 let l1 = "", 7881 l2 = ""; 7882 if (isPC) { 7883 l1 = showRadioList ? (dy.sidebarPCHoverRadioL1 || "Ouvrir") : (dy.sidebarPCHoverPodcastL1 || "Episodes"); 7884 l2 = showRadioList ? (dy.sidebarPCHoverRadioL2 || "la liste des stations") : (dy.sidebarPCHoverPodcastL2 || ""); 7885 } else { 7886 l1 = showRadioList ? (dy.miniHoverRadioL1 || "Ouvrir") : (dy.miniHoverPodcastL1 || "Episodes"); 7887 l2 = showRadioList ? (dy.miniHoverRadioL2 || "la liste des stations") : (dy.miniHoverPodcastL2 || ""); 7888 if (isMini && !showRadioList) l2 = ""; 7889 } 7890 7891 if (isPodMode) { 7892 if (sub) { 7893 sub.textContent = l1; 7894 sub.style.opacity = ''; 7895 sub.style.animation = ''; 7896 } 7897 if (tit) { 7898 tit.textContent = l2; 7899 tit.style.display = (l2 === "") ? 'none' : ''; 7900 tit.style.opacity = ''; 7901 tit.style.animation = ''; 7902 } 7903 d.classList.add('is-hover'); 7904 if (onAir) onAir.style.display = 'none'; 7905 if (podTit) podTit.style.display = 'none'; 7906 } else { 7907 if (sub) sub.style.opacity = 0; 7908 if (tit) tit.style.opacity = 0; 7909 d._hT1 = setTimeout(() => { 7910 if (sub) { 7911 sub.textContent = l1; 7912 sub.style.opacity = ''; 7913 sub.style.animation = ''; 7914 } 7915 if (tit) { 7916 tit.textContent = l2; 7917 tit.style.opacity = ''; 7918 tit.style.display = (l2 === "") ? 'none' : ''; 7919 tit.style.animation = ''; 7920 } 7921 d.classList.add('is-hover'); 7922 if (onAir) onAir.style.display = 'none'; 7923 }, 100); 7924 } 7925 } else { 7926 if (sub) sub.style.animation = 'dyTooltipOut 0.3s ease forwards'; 7927 if (tit) tit.style.animation = 'dyTooltipOut 0.3s ease forwards'; 7928 7929 d._hT1 = setTimeout(() => { 7930 d.classList.remove('is-hover'); 7931 if (sub) { 7932 sub.style.display = ''; 7933 sub.style.opacity = ''; 7934 sub.style.animation = ''; 7935 delete sub.dataset.raw; 7936 } 7937 if (tit) { 7938 tit.style.display = ''; 7939 tit.style.opacity = ''; 7940 tit.style.animation = ''; 7941 delete tit.dataset.raw; 7942 } 7943 if (onAir) onAir.style.display = ''; 7944 if (podTit) { 7945 podTit.style.display = ''; 7946 delete podTit.dataset.raw; 7947 } 7948 dy.refreshUI();
7949 }, 250); 7950 } 7951 }; 7952 7953 const prev = window.dyRadio; 7954 7955 // Skip Method 7956 dy.skip = (btn, e) => { 7957 if (e) { 7958 e.preventDefault(); 7959 e.stopPropagation(); 7960 } 7961 const dir = parseInt(btn.dataset.dir || (btn.getAttribute('data-dir'))); 7962 let step = parseInt(btn.dataset.skip || btn.getAttribute('data-skip')); 7963 if (isNaN(step)) { 7964 step = dy.podSkipTime || 15; 7965 } 7966 if (dy.audio) { 7967 if (dir === -1 && dy.audio.currentTime < step) { 7968 dy.audio.currentTime = 0; 7969 return; 7970 } 7971 const target = dy.audio.currentTime + (dir * step); 7972 const max = (!isNaN(dy.audio.duration) && isFinite(dy.audio.duration)) ? dy.audio.duration : target + 1; 7973 dy.audio.currentTime = Math.max(0, Math.min(max, target)); 7974 } 7975 }; 7976 7977 // Load More Utility (JSON-based v4.6) 7978 const buildEpHTML = (it, list) => { 7979 const ds = list.dataset; 7980 const skip = ds.skip || 15; 7981 const sz = ds.epTitleSize || '15px'; 7982 const col = ds.epTitleColor || '#fff'; 7983 const bold = ds.epTitleBold === '1' ? '700' : '400'; 7984 const sbg = ds.shareEpBtnBg || '#a08053'; 7985 const scol = ds.shareEpBtnColor || '#fff'; 7986 const liaisonUrl = it.liaison_url || ''; 7987 const infoBtnHtml = liaisonUrl ? `<button class="dy-podcast-info-btn" onclick="window.location.href = '${liaisonUrl}'; event.stopPropagation();" title="Information"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2.2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"><line x1="12" y1="19" x2="12" y2="10"></line><circle cx="12" cy="5" r="1.8" fill="currentColor" stroke="none"></circle></svg></button>` : ''; 7988 const shareBtnMobileHtml = `<span class="dy-podcast-share-btn-mobile" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"><circle cx="18" cy="5" r="3"></circle><circle cx="6" cy="12" r="3"></circle><circle cx="18" cy="19" r="3"></circle><line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line></svg></span>`; 7989 7990 return ` 7991 <div class="dy-podcast-item" data-url="${it.url}" data-title="${it.title}" data-author="${it.author}" data-image="${it.image}" data-date="${it.date}" data-liaison-url="${liaisonUrl}" onclick="window.dyRadio.playPodcast(this)"> 7992 <div class="dy-podcast-img-wrap"> 7993 <img src="${it.image}" alt="Podcast" loading="lazy"> 7994 <div class="dy-podcast-play-overlay"><i class="fas fa-play"></i></div> 7995 </div> 7996 <div class="dy-podcast-info"> 7997 <span class="dy-podcast-date">${it.date}</span> 7998 <h4 class="dy-podcast-title" style="font-size:${sz}; color:${col}; font-weight:${bold};">${it.title}</h4> 7999 <span class="dy-podcast-meta">${it.author}</span> 8000 <div class="dy-podcast-progress-wrap"> 8001 <button class="dy-podcast-mini-play" onclick="window.dyRadio.toggle(event)"><i class="fas fa-play"></i></button> 8002 ${infoBtnHtml} 8003 ${shareBtnMobileHtml} 8004 <button class="dy-podcast-skip" data-dir="-1" title="Reculer de ${skip}s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-undo-alt"></i></button> 8005 <button class="dy-podcast-skip" data-dir="1" title="Avancer de ${skip}s" onclick="window.dyRadio.skip(this, event)"><i class="fas fa-redo-alt"></i></button>
8006 <span class="dy-podcast-time">00:00</span> 8007 <div class="dy-podcast-progress-bg" onclick="event.stopPropagation()"><div class="dy-podcast-progress-rail"><div class="dy-podcast-progress-fill"></div></div></div> 8008 </div> 8009 </div> 8010 <div class="dy-podcast-action" style="display: flex; align-items: center; gap: 12px;"> 8011 <span class="dy-podcast-share-btn" title="Partager cet épisode" onclick="window.dyRadio.shareEpisode(this, event)" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: ${sbg}; color: ${scol}; cursor: pointer; transition: all 0.3s;"><svg viewBox="0 0 24 24" width="14" height="14" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: block;"><circle cx="18" cy="5" r="3"></circle><circle cx="6" cy="12" r="3"></circle><circle cx="18" cy="19" r="3"></circle><line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line></svg></span> 8012 ${ds.downloadEnable === '1' ? `<a href="${window.location.origin}/?dy_podcast_download=${btoa(unescape(encodeURIComponent(it.url)))}&filename=${encodeURIComponent(it.title)}" download="${it.title}.mp3" class="dy-podcast-dl-btn" title="Télécharger cet épisode" onclick="event.stopPropagation()" style="width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: ${sbg}; color: ${scol}; cursor: pointer; transition: all 0.3s; text-decoration: none;"><i class="fas fa-download"></i></a>` : ''} 8013 <span class="dy-podcast-btn"><i class="fas fa-play"></i></span> 8014 </div> 8015 </div>`; 8016 }; 8017 8018 window.dyLoadMorePodcasts = (btn) => { 8019 const list = btn.closest('.dy-podcast-list'); 8020 const container = list.querySelector('.dy-podcast-items-container'); 8021 if (!container || !list.dataset.episodes) return; 8022 8023 const episodes = JSON.parse(list.dataset.episodes); 8024 const offset = parseInt(list.dataset.currentOffset); 8025 const nextCount = parseInt(list.dataset.loadNext || 10); 8026 const toAdd = episodes.slice(offset, offset + nextCount); 8027 8028 let html = ''; 8029 toAdd.forEach(ep => { 8030 html += buildEpHTML(ep, list); 8031 }); 8032 container.insertAdjacentHTML('beforeend', html); 8033 8034 list.dataset.currentOffset = offset + toAdd.length; 8035 if (offset + toAdd.length >= episodes.length) btn.closest('.dy-load-more-wrap').style.display = 'none'; 8036 }; 8037 8038 let searchTimeout = null; 8039 const normalizeStr = (str) => { 8040 return str.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "").trim(); 8041 }; 8042 8043 const levenshtein = (a, b) => { 8044 const matrix = []; 8045 for (let i = 0; i <= b.length; i++) matrix[i] = [i]; 8046 for (let j = 0; j <= a.length; j++) matrix[0][j] = j; 8047 for (let i = 1; i <= b.length; i++) { 8048 for (let j = 1; j <= a.length; j++) { 8049 if (b.charAt(i - 1) === a.charAt(j - 1)) { 8050 matrix[i][j] = matrix[i - 1][j - 1]; 8051 } else { 8052 matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, Math.min(matrix[i][j - 1] + 1, matrix[i - 1][j] + 1)); 8053 } 8054 } 8055 } 8056 return matrix[b.length][a.length]; 8057 }; 8058 8059 window.dyFilterPodcasts = (input) => { 8060 if (searchTimeout) clearTimeout(searchTimeout); 8061 searchTimeout = setTimeout(() => { 8062 const rawVal = input.value.trim(); 8063 const val = normalizeStr(rawVal); 8064 const list = input.closest('.dy-podcast-list'); 8065 const container = list.querySelector('.dy-podcast-items-container');
8066 const loadMore = list.querySelector('.dy-load-more-wrap'); 8067 const noRes = list.querySelector('.dy-podcast-no-results'); 8068 if (!container || !list.dataset.episodes) return; 8069 8070 const episodes = JSON.parse(list.dataset.episodes); 8071 if (val === '') { 8072 const offset = parseInt(list.dataset.currentOffset); 8073 const toShow = episodes.slice(0, offset); 8074 let html = ''; 8075 toShow.forEach(ep => { 8076 html += buildEpHTML(ep, list); 8077 }); 8078 container.innerHTML = html; 8079 if (loadMore) loadMore.style.display = (offset < episodes.length) ? 'block' : 'none'; 8080 if (noRes) noRes.style.display = 'none'; 8081 dy.currentEpisodes = episodes; 8082 } else { 8083 // Enhanced Search Logic: Substring Match + Space-Agnostic + Strict Fuzzy + Scoring 8084 const matches = episodes.map(it => { 8085 const t = normalizeStr(it.title); 8086 const a = normalizeStr(it.author); 8087 const tNoSpace = t.replace(/\s+/g, ''); 8088 const aNoSpace = a.replace(/\s+/g, ''); 8089 const valNoSpace = val.replace(/\s+/g, ''); 8090 let score = 0; 8091 8092 // 1. Primary: Substring matches (High priority) 8093 if (t.includes(val)) { 8094 score = 100 + (t.startsWith(val) ? 50 : 0); 8095 } else if (a.includes(val)) { 8096 score = 80; 8097 } 8098 // 2. Space-agnostic match (e.g. "tourauto" matches "Tour Auto") 8099 else if (valNoSpace.length >= 4 && (tNoSpace.includes(valNoSpace) || aNoSpace.includes(valNoSpace))) { 8100 score = 90; 8101 } 8102 // 3. Secondary: Fuzzy matches for typos (Only if query is long enough) 8103 else if (val.length >= 5) { 8104 const words = t.split(/[\s\-',]+/).concat(a.split(/[\s\-',]+/)); 8105 const bestDist = words.reduce((min, w) => { 8106 if (Math.abs(w.length - val.length) > 2) return min; 8107 return Math.min(min, levenshtein(val, w)); 8108 }, 99); 8109 8110 if (bestDist <= 1) score = 40; 8111 else if (bestDist === 2 && val.length >= 8) score = 20; 8112 } 8113 8114 return { 8115 item: it, 8116 score 8117 }; 8118 }) 8119 .filter(m => m.score > 0) 8120 .sort((a, b) => b.score - a.score) 8121 .map(m => m.item); 8122 8123 let html = ''; 8124 matches.forEach(it => { 8125 html += buildEpHTML(it, list); 8126 }); 8127 container.innerHTML = html; 8128 if (loadMore) loadMore.style.display = 'none'; 8129 if (noRes) { 8130 noRes.style.display = (matches.length === 0) ? 'block' : 'none'; 8131 const span = noRes.querySelector('span'); 8132 if (span) span.textContent = rawVal; 8133 } 8134 dy.currentEpisodes = matches; 8135 } 8136 }, 400); 8137 }; 8138 8139 if (prev && prev.intervalId) clearInterval(prev.intervalId); 8140 if (prev && prev.switchId) clearInterval(prev.switchId); 8141 if (prev && prev.miniSwitchId) clearInterval(prev.miniSwitchId); 8142 if (prev && prev.miniDdSwitchId) clearInterval(prev.miniDdSwitchId); 8143 if (prev && prev.autoScrollId) clearInterval(prev.autoScrollId); 8144 8145 let fallbackIdx = 0; 8146 if (Array.isArray(dy.stations)) { 8147 fallbackIdx = Math.max(0, dy.stations.findIndex(s => parseInt(s.is_default) === 1)); 8148 } else { 8149 dy.stations = []; 8150 } 8151 8152 let forced = parseInt(window.dyForcedIndex); 8153 8154 // Priority to Shared Episode in URL 8155 const hasShared = (new URLSearchParams(window.location.search)).has('dy_ep'); 8156 if (hasShared) { 8157 dy.currentIndex = -1; // Force podcast mode initialization 8158 } else { 8159 dy.currentIndex = prev ? prev.currentIndex : (!isNaN(forced) ? forced : fallbackIdx); 8160 } 8161 8162 dy.podcastMeta = prev ? prev.podcastMeta : null; 8163 dy.currentEpisodes = prev ? prev.currentEpisodes : []; 8164 dy.forceRadioList = prev ? prev.forceRadioList : false; 8165 8166 if (isNaN(dy.currentIndex) || dy.currentIndex < 0 || dy.currentIndex >= dy.stations.length) { 8167 dy.currentIndex = 0; 8168 } 8169 8170 dy.stations.forEach((s, i) => { 8171 s.meta = (prev && prev.stations && prev.stations[i] && prev.stations[i].meta) ? 8172 prev.stations[i].meta : { 8173 s: s.name, 8174 t: "Veuillez patienter...", 8175 img: s.logo 8176 }; 8177 }); 8178 8179 const st = dy.stations[dy.currentIndex]; 8180 dy.currentLink = prev ? prev.currentLink : (st ? st.link : "#"); 8181 8182 if (prev && prev.audio) { 8183 dy.audio = prev.audio; 8184 } else { 8185 const initUrl = hasShared ? "" : (st ? st.flux : ""); 8186 dy.audio = new Audio(initUrl); 8187 dy.audio.preload = hasShared ? 'auto' : 'none'; 8188 } 8189 8190 dy.audio.addEventListener('timeupdate', () => { 8191 if (dy.audio.duration && !isNaN(dy.audio.duration)) { 8192 const percent = (dy.audio.currentTime / dy.audio.duration) * 100;
8193 const fmt = dy.formatTime(dy.audio.currentTime); 8194 8195 // Update Podcast List items 8196 document.querySelectorAll('.dy-podcast-item.dy-podcast-active').forEach(item => { 8197 const fill = item.querySelector('.dy-podcast-progress-fill'); 8198 const time = item.querySelector('.dy-podcast-time'); 8199 if (fill) fill.style.width = percent + '%'; 8200 if (time) time.textContent = fmt; 8201 }); 8202 // Update All Podcast Progress Bars (Sticky Footers & Controls) 8203 document.querySelectorAll('.radio-display.dy-podcast-mode .dy-podcast-progress-fill, .radio-display.dy-podcast-mode .dy-footer-progress').forEach(fill => { 8204 fill.style.width = percent + '%'; 8205 }); 8206 // Update Time Labels 8207 document.querySelectorAll('.radio-display.dy-podcast-mode .dy-podcast-time').forEach(time => { 8208 time.textContent = fmt; 8209 }); 8210 8211 // Disable Back Skip if < skipTime 8212 document.querySelectorAll('.dy-podcast-skip[data-dir="-1"]').forEach(btn => { 8213 if (dy.audio.currentTime < dy.podSkipTime) { 8214 btn.style.opacity = '0.3'; 8215 btn.style.pointerEvents = 'none'; 8216 btn.style.cursor = 'default'; 8217 } else { 8218 btn.style.opacity = '1'; 8219 btn.style.pointerEvents = 'auto'; 8220 btn.style.cursor = 'pointer'; 8221 } 8222 }); 8223 } 8224 }); 8225 8226 dy.audio.addEventListener('loadedmetadata', () => { 8227 if (dy.prerollAntiSkip && dy.currentIndex >= 0) { 8228 const d = dy.audio.duration; 8229 // Seuil de détection : une publicité dure généralement moins de 120s 8230 if (d !== Infinity && !isNaN(d) && d > 0 && d < 120) { 8231 dy.isPrerollActive = true; 8232 dy.isStartupLock = false; 8233 dy.adDuration = d; 8234 dy.refreshUI(); 8235 console.log("DEVYVES: Preroll confirmed by duration: " + d + "s"); 8236 } else if (dy.isStartupLock && (d === Infinity || isNaN(d) || d >= 120)) { 8237 // On ne bloque plus par défaut sur l'Infinity, car cela créait des faux positifs 8238 dy.isStartupLock = false; 8239 dy.isPrerollActive = false; 8240 dy.adDuration = 0; 8241 dy.refreshUI(); 8242 console.log("DEVYVES: No preroll detected (Duration: " + d + "), unlocking."); 8243 if (dy.pendingStationIdx !== null) { 8244 const n = dy.pendingStationIdx; 8245 dy.pendingStationIdx = null; 8246 dy.playStation(n); 8247 } 8248 } else { 8249 dy.isStartupLock = false; 8250 dy.isPrerollActive = false; 8251 dy.adDuration = 0; 8252 dy.refreshUI(); 8253 } 8254 8255 if (dy.isPrerollActive && dy.adDuration > 0) { 8256 if (dy.prerollSafetyTimer) clearTimeout(dy.prerollSafetyTimer); 8257 dy.prerollSafetyTimer = setTimeout(() => { 8258 if (dy.isPrerollActive) { 8259 console.log("DEVYVES: Ad safety timeout reached."); 8260 dy.isPrerollActive = false; 8261 dy.adDuration = 0; 8262 dy.refreshUI();
8263 if (dy.pendingStationIdx !== null) { 8264 const n = dy.pendingStationIdx; 8265 dy.pendingStationIdx = null; 8266 dy.playStation(n); 8267 } 8268 } 8269 }, (dy.adDuration * 1000) + 2000); 8270 } 8271 } 8272 }); 8273 8274 dy.audio.addEventListener('durationchange', () => { 8275 if (dy.prerollAntiSkip && dy.currentIndex >= 0) { 8276 const d = dy.audio.duration; 8277 if (d !== Infinity && !isNaN(d) && d > 0 && d < 120) { 8278 if (!dy.isPrerollActive) { 8279 dy.isPrerollActive = true; 8280 dy.isStartupLock = false; 8281 dy.adDuration = d; 8282 dy.refreshUI(); 8283 console.log("DEVYVES: Preroll detected via durationchange: " + d + "s"); 8284 8285 if (dy.prerollSafetyTimer) clearTimeout(dy.prerollSafetyTimer); 8286 dy.prerollSafetyTimer = setTimeout(() => { 8287 if (dy.isPrerollActive) { 8288 dy.isPrerollActive = false; 8289 dy.adDuration = 0; 8290 if (dy.pendingStationIdx !== null) { 8291 const n = dy.pendingStationIdx; 8292 dy.pendingStationIdx = null; 8293 dy.playStation(n); 8294 } 8295 } 8296 }, (d * 1000) + 2000); 8297 } else { 8298 dy.adDuration = d; 8299 } 8300 } else if (d === Infinity || isNaN(d) || d >= 120) { 8301 // Transition to program 8302 dy.isStartupLock = false; 8303 if (dy.isPrerollActive) { 8304 console.log("DEVYVES: Transition to program (Duration: " + d + "). Unlocking."); 8305 dy.isPrerollActive = false; 8306 dy.adDuration = 0; 8307 dy.refreshUI(); 8308 if (dy.prerollSafetyTimer) clearTimeout(dy.prerollSafetyTimer); 8309 if (dy.pendingStationIdx !== null) { 8310 const next = dy.pendingStationIdx; 8311 dy.pendingStationIdx = null; 8312 dy.playStation(next); 8313 } 8314 } 8315 } 8316 } 8317 }); 8318 8319 dy.audio.addEventListener('timeupdate', () => { 8320 if (dy.prerollAntiSkip && dy.isPrerollActive) { 8321 // Unlock precisely at the end of the detected ad 8322 if (dy.adDuration > 0 && dy.audio.currentTime >= dy.adDuration) { 8323 console.log("DEVYVES: Preroll finished (timeupdate). Unlocking."); 8324 dy.isPrerollActive = false; 8325 dy.refreshUI(); 8326 dy.adDuration = 0; 8327 if (dy.prerollSafetyTimer) clearTimeout(dy.prerollSafetyTimer); 8328 if (dy.pendingStationIdx !== null) { 8329 const next = dy.pendingStationIdx; 8330 dy.pendingStationIdx = null; 8331 dy.playStation(next); 8332 } 8333 } 8334 } 8335 }); 8336 8337 dy.audio.addEventListener('ended', () => { 8338 if (dy.isPrerollActive) { 8339 dy.isPrerollActive = false; 8340 dy.refreshUI();
8341 dy.adDuration = 0; 8342 if (dy.prerollSafetyTimer) clearTimeout(dy.prerollSafetyTimer); 8343 console.log("DEVYVES: Preroll ended (event ended)"); 8344 8345 // Execute pending switch if user queued one during the ad 8346 if (dy.pendingStationIdx !== null) { 8347 const next = dy.pendingStationIdx; 8348 dy.pendingStationIdx = null; 8349 dy.playStation(next); 8350 } 8351 } 8352 8353 if (dy.podcastMeta && dy.currentEpisodes.length > 0 && dy.autoplayNext) { 8354 const curUrl = dy.audio.src; 8355 console.log('DEVYVES: Podcast ended, looking for next episode...', curUrl); 8356 8357 const normalize = (u) => { 8358 if (!u) return ""; 8359 try { 8360 // Remove query string and fragment, then protocol and trailing slash 8361 let parts = u.split('?')[0].split('#')[0].toLowerCase(); 8362 return parts.replace(/\/$/, "").replace(/^https?:\/\//i, "").trim(); 8363 } catch (e) { 8364 return u; 8365 } 8366 }; 8367 8368 const curNorm = normalize(curUrl); 8369 const idx = dy.currentEpisodes.findIndex(ep => normalize(ep.url) === curNorm); 8370 8371 if (idx !== -1 && idx < dy.currentEpisodes.length - 1) { 8372 const nextEp = dy.currentEpisodes[idx + 1]; 8373 console.log('DEVYVES: Next episode found:', nextEp.title); 8374 dy.playPodcastItemByUrl(nextEp.url); 8375 } else { 8376 console.log('DEVYVES: End of current playlist reached (Index:', idx, ')'); 8377 8378 // Check if fallback is enabled (Global or Local via dataset) 8379 const isEnabled = (dy.activeFallbackEnable === true) || (dy.activeFallbackEnable === "1") || (dy.activeFallbackEnable === undefined && dy.fallbackEnable); 8380 8381 if (isEnabled && dy.activeFallbackRSS) { 8382 console.log('DEVYVES: Fallback RSS detected and enabled, loading...', dy.activeFallbackRSS); 8383 const formData = new FormData(); 8384 formData.append('action', 'dy_load_fallback_rss'); 8385 formData.append('rss', dy.activeFallbackRSS); 8386 8387 const ajaxPath = dy.ajaxurl || dy.ajaxUrl || "/wp-admin/admin-ajax.php"; 8388 8389 fetch(ajaxPath, { 8390 method: 'POST', 8391 body: formData 8392 }) 8393 .then(r => r.json()) 8394 .then(res => { 8395 if (res.success && res.data && res.data.length > 0) { 8396 // Anti-Loop Parade: Filter out episodes already in the previous list 8397 const oldUrls = dy.currentEpisodes.map(ep => normalize(ep.url)); 8398 const filtered = res.data.filter(newEp => !oldUrls.includes(normalize(newEp.url))); 8399 8400 if (filtered.length > 0) { 8401 console.log('DEVYVES: Fallback episodes filtered (New:', filtered.length, 'Duplicates removed:', res.data.length - filtered.length, ')'); 8402 dy.currentEpisodes = filtered; 8403 dy.currentIndex = -1; 8404 dy.activeFallbackRSS
8404= ""; // Prevent infinite loops if next list also has same fallback 8405 dy.playPodcastItemByUrl(dy.currentEpisodes[0].url); 8406 } else { 8407 console.warn('DEVYVES: Fallback feed contains only episodes already played. Stopping to avoid loop.'); 8408 dy.activeFallbackRSS = ""; 8409 } 8410 } else { 8411 console.warn('DEVYVES: Fallback load failed or empty:', res); 8412 } 8413 }) 8414 .catch(e => console.error('DEVYVES: Error fetching fallback RSS:', e)); 8415 } else { 8416 console.log('DEVYVES: Fallback not triggered (Enabled:', isEnabled, 'RSS:', dy.activeFallbackRSS, ')'); 8417 } 8418 } 8419 } 8420 }); 8421 8422 dy.scanLinks(); 8423 dy.initPodcastList(); 8424 dy.upMeta(); 8425 dy.upMetaId = setInterval(dy.upMeta, 20000); 8426 8427 // Alternance Cover/Logo (Global) 8428 if (dy.switchTime > 0) { 8429 dy.switchId = setInterval(() => { 8430 dy.displayMode = (dy.displayMode === 'cover' ? 'logo' : 'cover'); 8431 dy.refreshUI(); 8432 }, dy.switchTime * 1000); 8433 } 8434 8435 // Alternance Cover/Logo (Mini Player Specifique) 8436 dy.miniDisplayMode = 'logo'; 8437 if (dy.miniSwitchTime > 0) { 8438 dy.miniSwitchId = setInterval(() => { 8439 dy.miniDisplayMode = (dy.miniDisplayMode === 'cover' ? 'logo' : 'cover'); 8440 document.querySelectorAll('.radio-display.dy-mini-player').forEach(el => { 8441 el.classList.remove('dy-display-logo', 'dy-display-cover'); 8442 el.classList.add('dy-display-' + dy.miniDisplayMode); 8443 }); 8444 }, dy.miniSwitchTime * 1000); 8445 } 8446 8447 // Alternance Cover/Logo (Dropdown Mini Specifique) 8448 dy.miniDdDisplayMode = 'logo'; 8449 if (dy.miniDdSwitchTime > 0) { 8450 // Apply initial class to containers immediately 8451 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 8452 dd.classList.add('dy-display-logo'); 8453 }); 8454 8455 dy.miniDdSwitchId = setInterval(() => { 8456 const dd = document.querySelector('.dy-mini-dropdown.is-active, .dy-fs-list-scroll'); 8457 if (dd && dd.matches(':hover')) return; // Pause if user is interacting 8458 8459 dy.miniDdDisplayMode = (dy.miniDdDisplayMode === 'cover' ? 'logo' : 'cover'); 8460 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 8461 dd.classList.remove('dy-display-logo', 'dy-display-cover'); 8462 dd.classList.add('dy-display-' + dy.miniDdDisplayMode); 8463 }); 8464 }, dy.miniDdSwitchTime * 1000); 8465 } 8466 8467 // Alternance Cover/Logo (List Player - Standalone + Dropdown) 8468 dy.listDdDisplayMode = 'logo'; 8469 if (dy.listDdSwitchTime > 0) { 8470 document.querySelectorAll('.dy-standalone-list').forEach(el => { 8471 el.classList.add('dy-display-logo'); 8472 }); 8473 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 8474 if (!dd.classList.contains('dy-display-logo') && !dd.classList.contains('dy-display-cover')) { 8475 dd.classList.add('dy-display-logo'); 8476 } 8477 }); 8478 8479 dy.listDdSwitchId = setInterval(() => { 8480 const dd = document.querySelector('.dy-mini-dropdown.is-active, .dy-fs-list-scroll'); 8481 if (dd && dd.matches(':hover')) return; 8482 8483 dy.listDdDisplayMode = (dy.listDdDisplayMode === 'cover' ? 'logo' : 'cover'); 8484 8485 document.querySelectorAll('.dy-standalone-list').forEach(el => { 8486 el.classList.remove('dy-display-logo', 'dy-display-cover'); 8487 el.classList.add('dy-display-' + dy.listDdDisplayMode); 8488 }); 8489 8490 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 8491 if (dy.miniDdSwitchTime <= 0 || !document.querySelector('.radio-display.dy-mini-player')) { 8492 dd.classList.remove('dy-display-logo', 'dy-display-cover'); 8493 dd.classList.add('dy-display-' + dy.listDdDisplayMode); 8494 } 8495 }); 8496 }, dy.listDdSwitchTime * 1000); 8497 } 8498 8499 // Auto Scroll Carousel 8500 8501 8502 window.onpopstate = () => dy.loadPage(location.href, false); 8503 dy.refreshPlayState(); 8504 dy.refreshUI();
8505 dy.initCarousels(); 8506 dy.checkSharedEpisode(); 8507 console.log("DEVYVES: System initialized. Version:", dy.version); 8508 }, 8509 8510 initCarousels: () => { 8511 const containers = document.querySelectorAll('.dy-carousel-container'); 8512 if (containers.length === 0) return; 8513 8514 console.log("DEVYVES: Initializing " + containers.length + " carousel(s)..."); 8515 containers.forEach(container => { 8516 if (container._dyInterval) clearInterval(container._dyInterval); 8517 8518 const autoplay = container.getAttribute('data-autoplay') == '1'; 8519 const pauseOnHover = container.getAttribute('data-pause-on-hover') == '1'; 8520 const speed = parseInt(container.getAttribute('data-speed')) || 5000; 8521 8522 console.log("DEVYVES: Carousel Config -> Autoplay:", autoplay, "PauseOnHover:", pauseOnHover, "Speed:", speed); 8523 8524 if (autoplay) { 8525 container._dyInterval = setInterval(() => { 8526 if (pauseOnHover && container._dyIsHovered) { 8527 // console.log("DEVYVES: Scrolling paused (Hover)"); 8528 return; 8529 } 8530 const nextBtn = container.querySelector('.dy-nav-next'); 8531 if (nextBtn) dy.scrollCarousel(1, nextBtn); 8532 }, speed); 8533 8534 if (!container._dyHoverBound) { 8535 const onIn = () => { 8536 container._dyIsHovered = true; 8537 console.log("DEVYVES: Hover ACTIVE"); 8538 }; 8539 const onOut = () => { 8540 container._dyIsHovered = false; 8541 console.log("DEVYVES: Hover INACTIVE"); 8542 }; 8543 container.addEventListener('mouseenter', onIn); 8544 container.addEventListener('mouseleave', onOut); 8545 container._dyHoverBound = true; 8546 } 8547 } 8548 8549 // Carousel Mouse Wheel (Moved here for persistence) 8550 if (container.getAttribute('data-mousewheel') == '1') { 8551 const wrapper = container.querySelector('.dy-carousel-wrapper'); 8552 if (wrapper && !wrapper.dataset.wheelBound) { 8553 wrapper.dataset.wheelBound = "1"; 8554 wrapper.addEventListener('wheel', (e) => { 8555 e.preventDefault(); 8556 wrapper.scrollBy({ 8557 left: e.deltaY, 8558 behavior: 'auto' 8559 }); 8560 }, { 8561 passive: false 8562 }); 8563 } 8564 } 8565 }); 8566 }, 8567 8568 scrollCarousel: (dir, btn) => { 8569 const container = btn.closest('.dy-carousel-container'); 8570 const wrapper = container.querySelector('.dy-carousel-wrapper'); 8571 if (wrapper) { 8572 const gap = parseInt(container.getAttribute('data-gap')) || 20; 8573 const card = wrapper.querySelector('.dy-station-card'); 8574 const amount = card ? card.offsetWidth + gap : 300; // Use dynamic gap 8575 const maxScroll = wrapper.scrollWidth - wrapper.offsetWidth; 8576 8577 if (dir > 0 && wrapper.scrollLeft >= maxScroll - 10) { 8578 wrapper.scrollTo({ 8579 left: 0, 8580 behavior: 'smooth' 8581 }); 8582 } else if (dir < 0 && wrapper.scrollLeft <= 10) { 8583 wrapper.scrollTo({ 8584 left: maxScroll, 8585 behavior: 'smooth' 8586 }); 8587 } else { 8588 wrapper.scrollBy({ 8589 left: amount * dir, 8590 behavior: 'smooth' 8591 }); 8592 } 8593 } 8594 }, 8595 8596 truncateText: (str, len) => { 8597 if (!str) return ""; 8598 return str.length > len ? str.substring(0, len) + "..." : str; 8599 }, 8600 splitArtist: (text, container) => { 8601 if (!text || text === "Chargement...") return text; 8602 const splitEnable = container ? (container.dataset.splitEnable === '1') : false; 8603 const splitKws = container ? container.dataset.splitKeywords : ""; 8604 if (!splitEnable || !splitKws) return text; 8605
8606 const kws = splitKws.split(',').map(k => k.trim()); 8607 for (const kw of kws) { 8608 if (kw && text.includes(kw)) { 8609 return text.split(kw)[0].trim(); 8610 } 8611 } 8612 return text; 8613 }, 8614 decode: (s) => { 8615 if (!s) return ""; 8616 try { 8617 // Fix for literal Unicode escape sequences (e.g. \u00e9) 8618 s = s.replace(/\\u([0-9a-fA-F]{4})/g, (match, grp) => String.fromCharCode(parseInt(grp, 16))); 8619 } catch (e) {} 8620 dy.txtArea.innerHTML = s; 8621 return dy.txtArea.value; 8622 }, 8623 isDefault: (u) => !u || ['cover_default.png', 'default.png', 'placeholder.png'].some(p => u.includes(p)), 8624 formatTime: (s) => { 8625 const m = Math.floor(s / 60); 8626 const sec = Math.floor(s % 60); 8627 return (m < 10 ? '0' : '') + m + ':' + (sec < 10 ? '0' : '') + sec; 8628 }, 8629 8630 refreshPlayState: () => { 8631 if (!dy.audio) return; 8632 const isP = dy.audio.paused; 8633 8634 // Mini players 8635 document.querySelectorAll('.play-button').forEach(b => { 8636 if (isP) { 8637 b.classList.remove('fa-stop'); 8638 b.classList.add('fa-play'); 8639 } else { 8640 b.classList.remove('fa-play'); 8641 b.classList.add('fa-stop'); 8642 } 8643 }); 8644 8645 // Full cards 8646 document.querySelectorAll('.dy-station-card').forEach(card => { 8647 const idx = parseInt(card.dataset.index); 8648 const icon = card.querySelector('.dy-play-icon'); 8649 const text = card.querySelector('.dy-play-text'); 8650 8651 const container = card.closest('.dy-carousel-container'); 8652 const defText = container ? container.dataset.playText : 'ÃCOUTER'; 8653 const activeText = container ? container.dataset.playingText : 'EN COURS'; 8654 const activeBg = container ? container.dataset.playingBg : '#c0392b'; 8655 8656 if (idx === dy.currentIndex && !isP) { 8657 if (icon) { 8658 icon.classList.remove('fa-play'); 8659 icon.classList.add('fa-stop'); 8660 } 8661 if (text) text.textContent = activeText; 8662 const btn = card.querySelector('.dy-play-btn'); 8663 if (btn && btn.style.backgroundColor !== activeBg) btn.style.backgroundColor = activeBg; 8664 card.classList.add('dy-card-active'); 8665 } else { 8666 if (icon) { 8667 icon.classList.remove('fa-stop'); 8668 icon.classList.add('fa-play'); 8669 } 8670 if (text) text.textContent = defText; 8671 const btn = card.querySelector('.dy-play-btn'); 8672 if (btn && btn.style.backgroundColor !== '') btn.style.backgroundColor = ''; 8673 card.classList.remove('dy-card-active'); 8674 } 8675 }); 8676 8677 // Simple player CTA buttons 8678 document.querySelectorAll('.dy-simple-player').forEach(card => { 8679 const idx = parseInt(card.dataset.index); 8680 const btn = card.querySelector('.play-button'); 8681 const ctaText = card.querySelector('.dy-simple-call-text'); 8682 const originalText = (card.dataset.originalCall && card.dataset.originalCall !== "") ? card.dataset.originalCall : ((dy.stations[idx] && dy.stations[idx].call_text) || "Ecouter le direct"); 8683 8684 if (btn) {
8685 if (idx === dy.currentIndex && !isP) { 8686 btn.classList.remove('fa-play'); 8687 btn.classList.add('fa-stop'); 8688 } else { 8689 btn.classList.remove('fa-stop'); 8690 btn.classList.add('fa-play'); 8691 } 8692 } 8693 if (ctaText) { 8694 const playingTxt = card.dataset.playingText || "En cours"; 8695 const ctaWrapper = ctaText.closest('.dy-simple-call'); 8696 if (idx === dy.currentIndex && !isP) { 8697 ctaText.textContent = playingTxt; 8698 if (ctaWrapper) { 8699 ctaWrapper.style.backgroundColor = card.dataset.playingBg; 8700 ctaWrapper.style.color = card.dataset.playingTxt; 8701 } 8702 } else { 8703 ctaText.textContent = originalText; 8704 if (ctaWrapper) { 8705 ctaWrapper.style.backgroundColor = card.dataset.originalBg; 8706 ctaWrapper.style.color = card.dataset.originalTxt; 8707 } 8708 } 8709 } 8710 }); 8711 8712 // Play buttons [devyves_btn_play] 8713 document.querySelectorAll('.dy-btn-play-container').forEach(cont => { 8714 const idx = parseInt(cont.dataset.index); 8715 const mode = cont.dataset.mode || 'station'; 8716 const icon = cont.querySelector('.play-button'); 8717 const text = cont.querySelector('.dy-btn-play-text'); 8718 8719 let isCurrent = false; 8720 if (mode === 'podcast') { 8721 isCurrent = (dy.currentIndex === -1 && !isP); 8722 } else { 8723 isCurrent = (idx === dy.currentIndex && !isP); 8724 } 8725 8726 if (icon) { 8727 if (isCurrent) { 8728 icon.classList.remove('fa-play'); 8729 icon.classList.add('fa-stop'); 8730 icon.style.setProperty('color', cont.dataset.playingColor, 'important'); 8731 } else { 8732 icon.classList.remove('fa-stop'); 8733 icon.classList.add('fa-play'); 8734 icon.style.setProperty('color', cont.dataset.originalColor, 'important'); 8735 } 8736 } 8737 if (text) { 8738 const raw = isCurrent ? cont.dataset.playingText : cont.dataset.originalText; 8739 text.innerHTML = (raw || "").replace(/\\n
8739/g, '<br>').replace(/\n/g, '<br>'); 8740 } 8741 }); 8742 8743 // Dropdown items highlight 8744 document.querySelectorAll('.dy-dropdown-item').forEach(item => { 8745 item.classList.remove('is-playing'); 8746 }); 8747 const activeItem = document.querySelector(`.dy-dropdown-item[onclick*="playStation(${dy.currentIndex},"]`); 8748 if (activeItem && !isP) { 8749 activeItem.classList.add('is-playing'); 8750 } 8751 8752 // Podcast list buttons and active state 8753 const currentUrl = dy.audio.src; 8754 document.querySelectorAll('.dy-podcast-item').forEach(item => { 8755 const itemUrl = item.dataset.url; 8756 const btnIcon = item.querySelector('.dy-podcast-btn i'); 8757 const overlayIcon = item.querySelector('.dy-podcast-play-overlay i'); 8758 const miniPlayIcon = item.querySelector('.dy-podcast-mini-play i'); 8759 8760 if (itemUrl === currentUrl) { 8761 item.classList.add('dy-podcast-active'); 8762 [btnIcon, overlayIcon, miniPlayIcon].forEach(icon => { 8763 if (icon) { 8764 if (isP) { 8765 icon.classList.remove('fa-stop'); 8766 icon.classList.add('fa-play'); 8767 } else { 8768 icon.classList.remove('fa-play'); 8769 icon.classList.add('fa-stop'); 8770 } 8771 } 8772 }); 8773 } else { 8774 item.classList.remove('dy-podcast-active'); 8775 [btnIcon, overlayIcon, miniPlayIcon].forEach(icon => { 8776 if (icon) { 8777 icon.classList.remove('fa-stop'); 8778 icon.classList.add('fa-play'); 8779 } 8780 }); 8781 } 8782 }); 8783 }, 8784 8785 refreshUI: () => { 8786 // Disable hover tooltips for mini/sticky if expand button is active 8787 if (dy.expandEnable) { 8788 document.querySelectorAll('.dy-mini-player, .dy-sticky-footer-pc').forEach(el => { 8789 el.classList.add('dy-hover-disabled'); 8790 }); 8791 } 8792 8793 // Update Expand Buttons State and Text 8794 const hasEpisodes = !!(dy.currentEpisodes && dy.currentEpisodes.length > 1); 8795 document.querySelectorAll('.dy-expand-mini-btn').forEach(btn => { 8796 const txt = btn.querySelector('.dy-expand-text'); 8797 const isStickyEpBtn = btn.dataset.stickyEpBtn === '1'; 8798 8799 if (isStickyEpBtn) { 8800 // Sticky footer episode button: only show in podcast mode with >1 episode 8801 if (dy.podcastMeta && hasEpisodes) { 8802 btn.style.display = 'flex'; 8803 btn.classList.remove('disabled'); 8804 } else { 8805 btn.style.display = 'none'; 8806 } 8807 } else { 8808 // Generic expand buttons (mini, carousel) 8809 const customTxt = btn.dataset.customText; 8810 if (dy.podcastMeta) { 8811 if (txt) txt.textContent = customTxt || dy.expandPodcastMsg || "Episodes"; 8812 if (!hasEpisodes) { 8813 btn.classList.add('disabled'); 8814 btn.setAttribute('title', 'Aucun autre épisode disponible'); 8815 } else { 8816 btn.classList.remove('disabled'); 8817 btn.removeAttribute('title'); 8818 } 8819 } else { 8820 if (txt) txt.textContent = customTxt || dy.expandRadioMsg || "Stations"; 8821 btn.classList.remove('disabled'); 8822 btn.removeAttribute('title'); 8823 } 8824 } 8825 }); 8826 8827 // Determine Global Display Class and apply to main containers 8828 // Exclude elements that have their own custom toggle logic 8829 document.querySelectorAll('.dy-carousel-container, .radio-display, .dy-simple-player').forEach(el => { 8830 if (el.classList.contains('dy-simple-custom-switch')) return; 8831 8832 // If it's a mini player and we have a specific mini switch time, we don't sync with global displayMode 8833 if (el.classList.contains('dy-mini-player') && dy.miniSwitchTime > 0) return; 8834 8835 el.classList.remove('dy-display-logo', 'dy-display-cover'); 8836 el.classList.add('dy-display-' + dy.displayMode); 8837 }); 8838 8839 // Update Full Player Cards 8840 document.querySelectorAll('.dy-station-card, .dy-simple-player').forEach(card => { 8841 const idx = card.dataset.index; 8842 const st = dy.stations[idx]; 8843 if (st && st.meta) { 8844 const sub = card.querySelector('.dy-station-artist, .radio-subtitle'); 8845 const tit = card.querySelector('.dy-station-title, .radio-title'); 8846 const logoLayer = card.querySelector('.dy-station-logo-layer, .radio-logo-layer'); 8847 const coverLayer = card.querySelector('.dy-station-cover, .radio-cover'); 8848 const coverTarget = (st.meta && st.meta.img && !dy.isDefault(st.meta.img)) ? st.meta.img : (st.bg_image || st.logo); 8849 8850 if (sub) { 8851 // For simple player, if we want to keep station name as subtitle, we could check a class. 8852 // But usually subtitle is Artist. Let's stick to Artist if available. 8853 const artistLimit = card.dataset.truncateArtist || dy.truncateArtist; 8854 if (dy.prerollTextEnable && dy.isPrerollActive && parseInt(idx) === dy.
8854currentIndex) { 8855 sub.textContent = dy.prerollTextArtist; 8856 } else { 8857 const artistText = st.meta.s ? dy.splitArtist(st.meta.s, card) : (st.name || ""); 8858 sub.textContent = dy.truncateText(artistText, artistLimit); 8859 } 8860 } 8861 if (tit) { 8862 const isPod = card.classList.contains('dy-podcast-mode'); 8863 const podLimit = parseInt(card.dataset.truncatePodcast); 8864 const titleLimit = (isPod && podLimit > 0) ? podLimit : (card.dataset.truncateTitle || dy.truncateTitle); 8865 if (dy.prerollTextEnable && dy.isPrerollActive && parseInt(idx) === dy.currentIndex) { 8866 tit.textContent = dy.prerollTextTitle; 8867 } else { 8868 tit.textContent = st.meta.t ? dy.truncateText(st.meta.t, titleLimit) : "Veuillez patienter..."; 8869 } 8870 } 8871 8872 if (logoLayer && logoLayer.getAttribute('src') !== st.logo) { 8873 logoLayer.onerror = () => { 8874 logoLayer.onerror = null; // Prevent infinite loop 8875 logoLayer.src = st.logo || ''; 8876 }; 8877 logoLayer.src = st.logo; 8878 } 8879 if (coverLayer && coverLayer.getAttribute('src') !== coverTarget) { 8880 coverLayer.onerror = () => { 8881 coverLayer.onerror = null; // Prevent infinite loop 8882 dy.failedImgs.add(coverTarget); // Remember failed URL 8883 console.log('DEVYVES: Cover 404, fallback to logo:', coverTarget); 8884 coverLayer.src = st.logo || ''; 8885 }; 8886 coverLayer.src = coverTarget; 8887 } 8888 8889 8890 // Opacity and Transform are purely managed by CSS classes (.dy-display-logo, .dy-display-cover, .is-flipped) securely defined above. 8891 // We ONLY sync the source URL here to prevent JS from overriding hardware accelerated CSS transitions. 8892 8893 // We do NOT set inline styles here anymore. 8894 if (logoLayer) { 8895 logoLayer.style.removeProperty('opacity'); 8896 logoLayer.style.removeProperty('transform'); 8897 } 8898 if (coverLayer) { 8899 coverLayer.style.removeProperty('opacity'); 8900 coverLayer.style.removeProperty('transform'); 8901 } 8902 const glass = card.querySelector('.dy-glass-bg'); 8903 const cardBg = card.querySelector('.dy-card-bg'); 8904 const isFullCarousel = card.closest('.dy-carousel-full'); 8905 8906 // For Carousel Full, we force the background image from settings and ignore dynamic cover 8907 const bgTarget = (isFullCarousel) ? (st.bg_image || st.logo) : ((st.meta && st.meta.img && !dy.isDefault(st.meta.img)) ? st.meta.img : (st.bg_image || st.logo)); 8908 8909 if (glass) { 8910 glass.style.backgroundImage = `url('${bgTarget}')`; 8911 const gop = (dy.glassOp !== undefined) ? dy.glassOp : 1; 8912 glass.style.opacity = `${dy.bgOpacity} !important`; 8913 glass.style.filter = `blur(${40 * gop}px) brightness(0.7)`; 8914 } 8915 8916 if (cardBg && (dy.bgMode === 'image' || isFullCarousel)) {
8917 const overlay = (dy.useGradient && !isFullCarousel) ? `linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.5) 40%, transparent 100%), ` : ""; 8918 cardBg.onerror = () => { 8919 cardBg.onerror = null; 8920 cardBg.style.backgroundImage = `url('${st.logo}')`; 8921 }; 8922 cardBg.style.backgroundImage = `${overlay}url('${bgTarget}')`; 8923 cardBg.style.opacity = (isFullCarousel) ? "1 !important" : `${dy.bgOpacity} !important`; 8924 8925 if (dy.backdropBlur && !isFullCarousel) { 8926 const bop = (dy.backdropOp !== undefined) ? dy.backdropOp : 1; 8927 const bpx = 20 * bop; 8928 cardBg.style.filter = `blur(${bpx}px) brightness(0.8)${dy.carouselBwBg ? ' grayscale(100%)' : ''}`; 8929 cardBg.style.transform = `scale(1.1)`; 8930 } else if (dy.carouselBwBg && !isFullCarousel) { 8931 cardBg.style.filter = 'grayscale(100%)'; 8932 } else { 8933 cardBg.style.filter = 'none'; 8934 cardBg.style.transform = 'none'; 8935 } 8936 } 8937 } 8938 8939 document.querySelectorAll('.dy-station-artist-' + idx).forEach(el => { 8940 const container = el.closest('[data-truncate-artist]'); 8941 const limit = container ? container.dataset.truncateArtist : dy.truncateArtist; 8942 const artistText = dy.splitArtist((st.meta ? st.meta.s : "Chargement..."), container); 8943 8944 if (dy.prerollTextEnable && dy.isPrerollActive && idx == dy.currentIndex) { 8945 el.textContent = dy.truncateText(dy.prerollTextArtist, limit); 8946 } else { 8947 el.textContent = dy.truncateText(artistText, limit); 8948 } 8949 }); 8950 document.querySelectorAll('.dy-station-title-' + idx).forEach(el => { 8951 const limit = el.closest('[data-truncate-title]') ? el.closest('[data-truncate-title]').dataset.truncateTitle : dy.truncateTitle; 8952 if (dy.prerollTextEnable && dy.isPrerollActive && idx == dy.currentIndex) { 8953 el.textContent = dy.prerollTextTitle; 8954 } else { 8955 el.textContent = (st.meta ? dy.truncateText(st.meta.t, limit) : "--"); 8956 } 8957 }); 8958 8959 const dropdownItem = document.querySelector(`.dy-dropdown-item[onclick*="playStation(${idx},"]`); 8960 if (dropdownItem) { 8961 const ddLogo = dropdownItem.querySelector('.dy-dd-logo'); 8962 const ddCover = dropdownItem.querySelector('.dy-dd-cover'); 8963 8964 if (ddLogo && ddLogo.getAttribute('src') !== st.logo) { 8965 ddLogo.onerror = () => { 8966 ddLogo.onerror = null; 8967 ddLogo.src = st.logo; 8968 }; 8969 ddLogo.src = st.logo; 8970 } 8971 if (ddCover) { 8972 ddCover.onerror = () => { 8973 ddCover.onerror = null; 8974 dy.failedImgs.add(ddCover.src); 8975 ddCover.src = st.logo; 8976 }; 8977 const ddTarget = (st.meta && st.meta.img && !dy.isDefault(st.meta.img)) ? st.meta.img : st.logo; 8978 if (ddCover.getAttribute('src') !== ddTarget) ddCover.src = ddTarget; 8979 } 8980 8981 // Dropdown thumb crossfade 8982 // Also managed purely by the CSS global state cascade 8983 if (ddLogo) ddLogo.style.removeProperty('opacity'); 8984 if (ddCover) ddCover.style.removeProperty('opacity'); 8985 } 8986 }); 8987 8988 // Update Mini Players and Dropdowns 8989 const curSt = dy.currentIndex >= 0 ? dy.stations[dy.currentIndex] : dy.podcastMeta; 8990 8991 document.querySelectorAll('.radio-display:not(.dy-simple-player)').forEach(el => { 8992 if (dy.podcastMeta) { 8993 el.classList.add('dy-podcast-mode'); 8994 } else { 8995 el.classList.remove('dy-podcast-mode'); 8996 } 8997 }); 8998 8999 if (curSt) {
9000 let metaS = curSt.meta ? curSt.meta.s : (curSt.s || "Chargement..."); 9001 let metaT = curSt.meta ? curSt.meta.t : (curSt.t || "Ãpisode sans titre"); 9002 9003 if (dy.prerollTextEnable && dy.isPrerollActive && !dy.podcastMeta) { 9004 metaS = dy.prerollTextArtist; 9005 metaT = dy.prerollTextTitle; 9006 } 9007 9008 const baseLogo = curSt.logo || curSt.img; 9009 9010 document.querySelectorAll('.dy-fs-station-name').forEach(el => { 9011 if (!dy.podcastMeta) { 9012 el.textContent = curSt.name || ""; 9013 el.style.display = 'block'; 9014 } else { 9015 el.textContent = ""; 9016 el.style.display = 'none'; 9017 } 9018 }); 9019 9020 document.querySelectorAll('.dy-fs-artist').forEach(el => { 9021 let artistText = metaS; 9022 let hasSplit = false; 9023 const keywords = dy.splitKeywordsFS ? dy.splitKeywordsFS.split(',').map(k => k.trim()) : []; 9024 9025 for (const kw of keywords) { 9026 if (kw && artistText.includes(kw)) { 9027 artistText = artistText.replace(kw, '<br>' + kw); 9028 hasSplit = true; 9029 break; 9030 } 9031 } 9032 9033 if (hasSplit) { 9034 el.innerHTML = artistText; 9035 el.classList.remove('is-scrolling'); // Disable marquee if split 9036 } else { 9037 if (dy.marqueeEnableFS) dy.applyMarquee(el, artistText, 50); 9038 else el.textContent = dy.truncateText(artistText, dy.truncateArtist + 15); 9039 } 9040 }); 9041 document.querySelectorAll('.dy-fs-title').forEach(el => { 9042 if (dy.marqueeEnableFS) dy.applyMarquee(el, metaT, 60); 9043 else el.textContent = dy.truncateText(metaT, dy.truncateTitle + 15); 9044 }); 9045 9046 // Sync images for FullScreen too 9047 document.querySelectorAll('.dy-mobile-fullscreen').forEach(fs => { 9048 const l = fs.querySelector('.radio-logo-layer'); 9049 const c = fs.querySelector('.radio-cover'); 9050 const coverTarget = (curSt.meta && curSt.meta.img && !dy.isDefault(curSt.meta.img)) ? curSt.meta.img : (curSt.img || curSt.logo); 9051 if (l) l.src = baseLogo; 9052 if (c) c.src = coverTarget; 9053 }); 9054 9055 document.querySelectorAll('.radio-display:not(.is-hover):not(.dy-simple-player)').forEach(el => { 9056 const sub = el.querySelector('.radio-subtitle'); 9057 const tit = el.querySelector('.radio-title'); 9058 const podTit = el.querySelector('.dy-mini-podcast-title'); 9059 const logoLayer = el.querySelector('.radio-logo-layer'); 9060 const coverLayer = el.querySelector('.radio-cover'); 9061 9062 if (sub) { 9063 const artistText = dy.splitArtist(metaS, el); 9064 if (dy.marqueeEnableFS) { 9065 dy.applyMarquee(sub, artistText, 50); 9066 } else { 9067 sub.textContent = dy.truncateText(artistText, 35); 9068 sub.classList.remove('is-scrolling'); 9069 } 9070 } 9071 if (tit) { 9072 if (dy.marqueeEnableFS) { 9073 dy.applyMarquee(tit, metaT, 60); 9074 } else { 9075 tit.textContent = dy.truncateText(metaT, 40); 9076 tit.classList.remove('is-scrolling'); 9077 } 9078 } 9079 if (podTit) { 9080 if (dy.marqueeEnableFS) { 9081 dy.applyMarquee(podTit, metaT, 70); 9082 } else { 9083 podTit.textContent = dy.truncateText(metaT, 40); 9084 podTit.classList.remove('is-scrolling'); 9085 } 9086 } 9087 9088 const coverTarget = (curSt.meta && curSt.meta.img && !dy.isDefault(curSt.meta.img)) ? curSt.meta.img : (curSt.img || curSt.logo); 9089 9090 if (logoLayer && logoLayer.getAttribute('src') !== baseLogo) { 9091 logoLayer.onerror = () => { 9092 logoLayer.onerror = null; 9093 logoLayer.src = baseLogo || ''; 9094 }; 9095 logoLayer.src = baseLogo; 9096 } 9097 if (coverLayer && coverLayer.getAttribute('src') !== coverTarget) { 9098 coverLayer.onerror = () => { 9099 coverLayer.onerror = null; 9100 dy.failedImgs.add(coverTarget); 9101 coverLayer.src = baseLogo || ''; 9102 }; 9103 coverLayer.src = coverTarget; 9104 } 9105 9106 if (logoLayer) logoLayer.style.removeProperty('opacity'); 9107 if (coverLayer) coverLayer.style.removeProperty('opacity'); 9108
9109 // Dynamic Sticky Footer Background 9110 if (dy.sidebarDynamicBg && el.classList.contains('dy-sticky-footer-pc')) { 9111 if (!dy.podcastMeta && curSt.bg_color) { 9112 let hex = curSt.bg_color.replace('#', ''); 9113 let r = 17, 9114 g = 17, 9115 b = 17; // fallback 9116 if (hex.length === 3) { 9117 r = parseInt(hex[0] + hex[0], 16); 9118 g = parseInt(hex[1] + hex[1], 16); 9119 b = parseInt(hex[2] + hex[2], 16); 9120 } else if (hex.length === 6) { 9121 r = parseInt(hex.substring(0, 2), 16); 9122 g = parseInt(hex.substring(2, 4), 16); 9123 b = parseInt(hex.substring(4, 6), 16); 9124 } 9125 if (dy.sidebarDynamicDarken > 0) { 9126 let factor = 1 - dy.sidebarDynamicDarken; 9127 r = Math.max(0, Math.round(r * factor)); 9128 g = Math.max(0, Math.round(g * factor)); 9129 b = Math.max(0, Math.round(b * factor)); 9130 } 9131 let rgbaStr = `rgba(${r},${g},${b},${dy.sidebarDynamicOpacity})`; 9132 el.style.setProperty('background', rgbaStr, 'important'); 9133 el.style.setProperty('background-color', rgbaStr, 'important'); 9134 } else { 9135 el.style.removeProperty('background'); 9136 el.style.removeProperty('background-color'); 9137 } 9138 } 9139 9140 // Dynamic Mobile Sticky Footer Background 9141 if (el.classList.contains('dy-mini-mobile-bar')) { 9142 if (dy.mobileDynamicBg && !dy.podcastMeta && curSt.bg_color) { 9143 let hex = curSt.bg_color.replace('#', ''); 9144 let r = 0, 9145 g = 0, 9146 b = 0; // fallback 9147 if (hex.length === 3) { 9148 r = parseInt(hex[0] + hex[0], 16); 9149 g = parseInt(hex[1] + hex[1], 16); 9150 b = parseInt(hex[2] + hex[2], 16); 9151 } else if (hex.length === 6) { 9152 r = parseInt(hex.substring(0, 2), 16); 9153 g = parseInt(hex.substring(2, 4), 16); 9154 b = parseInt(hex.substring(4, 6), 16); 9155 } 9156 let rgbaStr = `rgba(${r},${g},${b},${dy.mobileDynamicOpacity})`; 9157 el.style.setProperty('background', rgbaStr, 'important'); 9158 el.style.setProperty('background-color', rgbaStr, 'important'); 9159 } else { 9160 el.style.removeProperty('background'); 9161 el.style.removeProperty('background-color'); 9162 } 9163 } 9164 9165 // Dynamic Mobile Fullscreen Background 9166 if (el.classList.contains('dy-mobile-fullscreen')) { 9167 if (dy.mobileFsDynamicBg && !dy.podcastMeta && curSt.bg_color) {
9168 let hex = curSt.bg_color.replace('#', ''); 9169 let r = 0, 9170 g = 0, 9171 b = 0; // fallback 9172 if (hex.length === 3) { 9173 r = parseInt(hex[0] + hex[0], 16); 9174 g = parseInt(hex[1] + hex[1], 16); 9175 b = parseInt(hex[2] + hex[2], 16); 9176 } else if (hex.length === 6) { 9177 r = parseInt(hex.substring(0, 2), 16); 9178 g = parseInt(hex.substring(2, 4), 16); 9179 b = parseInt(hex.substring(4, 6), 16); 9180 } 9181 let rgbaStr = `rgba(${r},${g},${b},${dy.mobileFsDynamicOpacity})`; 9182 el.style.setProperty('background', rgbaStr, 'important'); 9183 el.style.setProperty('background-color', rgbaStr, 'important'); 9184 } else { 9185 el.style.removeProperty('background'); 9186 el.style.removeProperty('background-color'); 9187 } 9188 } 9189 }); 9190 } 9191 9192 // --- DYNAMIC DROPDOWN SWAP (v3.4) --- 9193 const showRadioList = ((!dy.podcastMeta && !dy.activeFallbackRSS) || dy.forceRadioList); 9194 9195 if (dy.podcastMeta) { 9196 // Show Podcast UI in bars 9197 document.querySelectorAll('.radio-display').forEach(el => { 9198 el.classList.add('dy-podcast-mode'); 9199 if (!el.classList.contains('dy-sticky-footer-pc')) el.title = dy.miniHoverPodcast; 9200 }); 9201 9202 dy.mobilePodMarquee = 1; 9203 9204 // PC Marquee 9205 document.querySelectorAll('.dy-mini-podcast-title').forEach(tit => { 9206 if (tit.closest('.dy-mobile-fullscreen')) { 9207 // Fullscreen Mobile: Always apply marquee logic to handle potential vertical scroll if > 3 lines 9208 dy.applyMarquee(tit, dy.podcastMeta.t, 100); 9209 } else { 9210 // Default PC/Mini Player Marquee (Always single line) 9211 dy.applyMarquee(tit, dy.podcastMeta.t, 80); 9212 } 9213 }); 9214 9215 // Mobile Marquee (v4.6 - Unified Ping-Pong) 9216 document.querySelectorAll('.dy-footer-podcast-title').forEach(el => { 9217 if (dy.mobilePodMarquee) { 9218 dy.applyMarquee(el, dy.podcastMeta.t, 100); 9219 } else { 9220 if (el.dataset.raw !== dy.podcastMeta.t) { 9221 el.textContent = dy.podcastMeta.t; 9222 el.classList.remove('is-scrolling'); 9223 el.dataset.raw = dy.podcastMeta.t; 9224 } 9225 } 9226 }); 9227 document.querySelectorAll('.dy-footer-podcast-date').forEach(date => { 9228 date.textContent = dy.podcastMeta.d || ""; 9229 }); 9230 9231 // Update Time in Sidebar 9232 const timeStr = dy.formatTime(dy.audio.currentTime); 9233 document.querySelectorAll('.dy-sticky-footer-pc .dy-podcast-time').forEach(el => el.textContent = timeStr); 9234 9235 // Update Fullscreen List Header 9236 document.querySelectorAll('.dy-fs-list-close .dy-fs-list-title-text').forEach(el => el.textContent = 'CHOISIR UN ÃPISODE'); 9237 9238 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 9239 const isPC = !!dd.closest('.dy-sticky-footer-pc'); 9240 dd.innerHTML = dy.buildPodcastDropdownHTML(!isPC, isPC); 9241 }); 9242 9243 // Handle Fullscreen Mode Toggle Visibility 9244 document.querySelectorAll('.dy-fs-list-modes').forEach(el => { 9245 el.style.display = 'flex'; 9246 el.querySelector('.dy-fs-mode-radio').classList.toggle('is-active', false); 9247 el.querySelector('.dy-fs-mode-podcast').classList.toggle('is-active', true); 9248 }); 9249 } else { 9250 // Handle Player Bar State in Radio Mode 9251 document.querySelectorAll('.radio-display').forEach(el => { 9252 el.classList.remove('dy-podcast-mode'); 9253 if (!el.classList.contains('dy-sticky-footer-pc')) el.title = dy.miniHoverRadio; 9254 }); 9255 } 9256 9257 // --- Dropdown Lists rendering --- 9258 if (!showRadioList) { 9259 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 9260 const isPC = !!dd.closest('.dy-sticky-footer-pc'); 9261 dd.innerHTML = dy.buildPodcastDropdownHTML(!isPC, isPC); 9262 }); 9263 } else { 9264 // Smart Update Radio Stations List (Avoid Flickering) 9265 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 9266 const isPC = !!dd.closest('.dy-sticky-footer-pc'); 9267 const items = dd.querySelectorAll('.dy-dropdown-item'); 9268 9269 if (items.length === dy.stations.length) { 9270 // Update existing items 9271 dy.stations.forEach((st, idx) => { 9272 const item = items[idx]; 9273 if (!item) return; 9274 9275 const isPlaying = (idx === dy.
9275currentIndex && !dy.audio.paused && !dy.podcastMeta); 9276 if (isPlaying) item.classList.add('is-playing'); 9277 else item.classList.remove('is-playing'); 9278 9279 const artistEl = item.querySelector('.dy-dd-artist'); 9280 const titleEl = item.querySelector('.dy-dd-title'); 9281 const logoEl = item.querySelector('.dy-dd-logo'); 9282 const coverEl = item.querySelector('.dy-dd-cover'); 9283 9284 if (st.meta) { 9285 const s = dy.truncateText(st.meta.s, 22); 9286 const t = dy.truncateText(st.meta.t, 25); 9287 if (artistEl && artistEl.textContent !== s) artistEl.textContent = s; 9288 if (titleEl && titleEl.textContent !== t) titleEl.textContent = t; 9289 9290 const newCover = (st.meta.img && !dy.isDefault(st.meta.img)) ? st.meta.img : (st.img || st.logo); 9291 if (coverEl && coverEl.src !== newCover) coverEl.src = newCover; 9292 } 9293 }); 9294 } else { 9295 // Full regeneration only if count changed 9296 dd.innerHTML = dy.buildRadioDropdownHTML(!isPC); 9297 } 9298 9299 // Sync dropdown thumbnails display mode immediately 9300 let mode = 'logo'; 9301 if (dy.miniDdSwitchTime > 0) { 9302 mode = (dy.miniDdDisplayMode || 'logo'); 9303 } else if (dy.listDdSwitchTime > 0) { 9304 mode = (dy.listDdDisplayMode || 'logo'); 9305 } 9306 dd.classList.remove('dy-display-logo', 'dy-display-cover'); 9307 dd.classList.add('dy-display-' + mode); 9308 }); 9309 9310 // Restore Fullscreen List Header 9311 document.querySelectorAll('.dy-fs-list-close .dy-fs-list-title-text').forEach(el => el.textContent = 'CHOISIR UNE STATION'); 9312 9313 // Handle Fullscreen Mode Toggle Visibility 9314 document.querySelectorAll('.dy-fs-list-modes').forEach(el => { 9315 if (dy.podcastMeta) { 9316 el.style.display = 'flex'; 9317 el.querySelector('.dy-fs-mode-radio').classList.toggle('is-active', true); 9318 el.querySelector('.dy-fs-mode-podcast').classList.toggle('is-active', false); 9319 } else { 9320 el.style.display = 'none'; 9321 } 9322 }); 9323 } 9324 9325 // Smart Update Standalone List (Avoid Flickering) - ALWAYS VISIBLE 9326 document.querySelectorAll('.dy-standalone-list').forEach(slContainer => { 9327 const items = slContainer.querySelectorAll('.dy-list-item'); 9328 9329 if (items.length === dy.stations.length) { 9330 dy.stations.forEach((st, idx) => { 9331 const item = items[idx]; 9332 if (!item) return; 9333 9334 const isPlaying = (idx === dy.currentIndex && !dy.audio.paused && !dy.podcastMeta); 9335 if (isPlaying) item.classList.add('is-playing'); 9336 else item.classList.remove('is-playing'); 9337 9338 // Manage ON AIR badge 9339 const textWrap = item.querySelector('.dy-list-item-text'); 9340 let onAirBadge = textWrap ? textWrap.querySelector('.on-air') : null; 9341 if (isPlaying) { 9342 if (!onAirBadge && textWrap) { 9343 onAirBadge = document.createElement('span'); 9344 onAirBadge.className = 'on-air'; 9345 onAirBadge.textContent = dy.onA
9345irText || 'ON AIR'; 9346 textWrap.insertBefore(onAirBadge, textWrap.firstChild); 9347 } 9348 } else { 9349 if (onAirBadge) { 9350 onAirBadge.remove(); 9351 } 9352 } 9353 9354 const artistEl = item.querySelector('.dy-list-artist'); 9355 const titleEl = item.querySelector('.dy-list-title'); 9356 const coverEl = item.querySelector('.dy-list-item-cover'); 9357 9358 if (st.meta) { 9359 const s = dy.truncateText(dy.splitArtist(st.meta.s, slContainer), 50); 9360 const t = dy.truncateText(st.meta.t, 50); 9361 if (artistEl && artistEl.textContent !== s) artistEl.textContent = s; 9362 if (titleEl && titleEl.textContent !== t) titleEl.textContent = t; 9363 9364 const newCover = (st.meta.img && !dy.isDefault(st.meta.img)) ? st.meta.img : (st.img || st.logo); 9365 if (coverEl && coverEl.src !== newCover) coverEl.src = newCover; 9366 if (coverEl) coverEl.style.opacity = (st.meta.img && !dy.isDefault(st.meta.img)) ? '1' : '0'; 9367 } 9368 }); 9369 } else { 9370 slContainer.innerHTML = dy.buildStandaloneListHTML(slContainer); 9371 } 9372 9373 // Sync standalone list thumbnails display mode immediately if listDdSwitchTime is set 9374 if (dy.listDdSwitchTime > 0) { 9375 const listMode = (dy.listDdDisplayMode || 'logo'); 9376 slContainer.classList.remove('dy-display-logo', 'dy-display-cover'); 9377 slContainer.classList.add('dy-display-' + listMode); 9378 } 9379 }); 9380 9381 // Always update podcast buttons disabled state/opacities regardless of showRadioList 9382 document.querySelectorAll('.dy-pc-btn-podcast').forEach(el => { 9383 const isStickyPC = !!el.closest('.dy-sticky-footer-pc'); 9384 const hasFeed = !!(dy.podcastMeta || dy.globalFallbackRSS); 9385 if (isStickyPC) { 9386 if (hasFeed) { 9387 el.classList.remove('disabled'); 9388 el.style.opacity = ""; 9389 el.title = "Afficher la liste des podcasts"; 9390 } else { 9391 el.classList.add('disabled'); 9392 el.style.opacity = "0.2"; 9393 el.removeAttribute('title'); 9394 } 9395 } else { 9396 if (dy.podcastMeta) { 9397 el.classList.remove('disabled'); 9398 el.style.opacity = ""; 9399 el.title = "Afficher la liste des podcasts"; 9400 } else { 9401 el.classList.add('disabled'); 9402 el.style.opacity = "0.2"; 9403 el.removeAttribute('title'); 9404 } 9405 } 9406 }); 9407 9408 // Force mobile progress bar visibility 9409 if (dy.podcastMeta) { 9410 document.querySelectorAll('.dy-mini-mobile-bar .dy-podcast-progress-bg').forEach(el => { 9411 el.style.setProperty('display', 'flex', 'important'); 9412 el.style.zIndex = '2147483647'; 9413 }); 9414 } else { 9415 document.querySelectorAll('.dy-mini-mobile-bar .dy-podcast-progress-bg').forEach(el => { 9416 el.style.setProperty('display', 'none', 'important'); 9417 }); 9418 } 9419 // --- PLAYER DOWNLOAD BUTTONS (v4.6) --- 9420 const dlBtns = document.querySelectorAll('.dy-player-download-btn'); 9421 if (dy.podcastMeta && dy.audio.src) { 9422 const isFallbackMode = (dy.activeFallbackRSS
9422=== "" && dy.currentEpisodes && dy.currentEpisodes.length > 0 && dy.autoplayNext); // Simple heuristic 9423 const showDl = (dy.activeFallbackDownloadEnable === '1' || (dy.activeFallbackDownloadEnable === undefined && dy.fallbackDownloadEnable)); 9424 9425 dlBtns.forEach(btn => { 9426 btn.style.setProperty('display', showDl ? 'flex' : 'none', 'important'); 9427 // Also update CSS variable for the sticky footer logic 9428 if (btn.closest('.dy-sticky-footer-pc')) { 9429 btn.closest('.dy-sticky-footer-pc').style.setProperty('--dy-dl-display', showDl ? 'inline-flex' : 'none'); 9430 } 9431 const dlUrl = `${window.location.origin}/?dy_podcast_download=${btoa(unescape(encodeURIComponent(dy.audio.src)))}&filename=${encodeURIComponent(dy.podcastMeta.t || 'episode')}`; 9432 btn.href = dlUrl; 9433 btn.download = (dy.podcastMeta.t || "episode") + ".mp3"; 9434 }); 9435 } else { 9436 dlBtns.forEach(btn => btn.style.display = 'none'); 9437 } 9438 }, 9439 9440 buildRadioDropdownHTML: (showFooter = true) => { 9441 let html = ''; 9442 if (showFooter && dy.podcastMeta && dy.forceRadioList) { 9443 html += `<div class="dy-action-card" onclick="window.dyRadio.forceRadioList=false; window.dyRadio.refreshUI(); event.stopPropagation();"><i class="fas fa-podcast"></i> REVENIR AU PODCAST</div>`; 9444 } 9445 dy.stations.forEach((st, idx) => { 9446 const isPlaying = (idx === dy.currentIndex && !dy.audio.paused && !dy.podcastMeta); 9447 const activeClass = isPlaying ? 'is-playing' : ''; 9448 const metaS = st.meta ? dy.truncateText(st.meta.s, 22) : (st.name || ""); 9449 const metaT = st.meta ? dy.truncateText(st.meta.t, 25) : "--"; 9450 const baseLogo = st.logo || ''; 9451 const coverTarget = (st.meta && st.meta.img && !dy.isDefault(st.meta.img)) ? st.meta.img : (st.img || st.logo); 9452 9453 html += `<div class="dy-dropdown-item ${activeClass}" onclick="window.dyRadio.playStation(${idx}, event); window.dyRadio.closeDropdowns(); if(window.dyToggleFSList) window.dyToggleFSList(false);">`; 9454 html += ` <div class="dy-dd-img-wrap">`; 9455 html += ` <img src="${baseLogo}" class="dy-dd-logo" style="transition: opacity 0.8s;">`; 9456 html += ` <img src="${coverTarget}" class="dy-dd-cover" style="transition: opacity 0.8s; opacity: 0;">`; 9457 html += ` </div>`; 9458 html += ` <div class="dy-dd-text">`; 9459 html += ` <div class="dy-dd-name">${st.name}</div>`; 9460 html += ` <div class="dy-dd-artist dy-station-artist-${idx}">${metaS}</div>`; 9461 html += ` <div class="dy-dd-title dy-station-title-${idx}">${metaT}</div>`; 9462 html += ` </div></div>`; 9463 }); 9464 return html; 9465 }, 9466 9467 hexToRgb: (hex) => { 9468 const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); 9469 return result ? { 9470 r: parseInt(result[1], 16), 9471 g: parseInt(result[2], 16), 9472 b: parseInt(result[3], 16) 9473 } : null; 9474 }, 9475 9476 buildStandaloneListHTML: (container) => { 9477 const dy = window.dyRadio; 9478 let html = ''; 9479 9480 const initialCount = container ? parseInt(container.dataset.initialCount || '0') : 0; 9481 const btnText = container ? container.dataset.btnText : 'Voir plus de chaines'; 9482 const btnSize = container ? container.dataset.btnSize : '14'; 9483 const btnColor = container ? container.dataset.btnColor : '#ffffff'; 9484 const btnWeight = container ? container.dataset.btnWeight : '600'; 9485 const btnBg = container ? container.dataset.btnBg : '#333333'; 9486 const btnRadius = container ? container.dataset.btnRadius : '5'; 9487 9488 dy.stations.forEach((st, idx) => {
9489 const isPlaying = (idx === dy.currentIndex && !dy.audio.paused && !dy.podcastMeta); 9490 const activeClass = isPlaying ? 'is-playing' : ''; 9491 const metaS = st.meta ? dy.truncateText(dy.splitArtist(st.meta.s, container), 50) : (st.name || ""); 9492 const metaT = st.meta ? dy.truncateText(st.meta.t, 50) : "--"; 9493 const baseLogo = st.logo || ''; 9494 const coverTarget = (st.meta && st.meta.img && !dy.isDefault(st.meta.img)) ? st.meta.img : (st.img || st.logo); 9495 9496 let inlineStyle = ''; 9497 if (dy.listDynamicBg && st.bg_color) { 9498 const rgb = dy.hexToRgb(st.bg_color); 9499 if (rgb) { 9500 inlineStyle += `background-color: rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${dy.listDynamicOpacity}); `; 9501 } 9502 } 9503 9504 let hiddenStyle = ''; 9505 let hiddenClass = ''; 9506 if (initialCount > 0 && idx >= initialCount) { 9507 hiddenStyle = 'display: none;'; 9508 hiddenClass = 'dy-list-hidden-item'; 9509 } 9510 9511 let onAirHtml = ''; 9512 if (isPlaying) { 9513 onAirHtml = `<span class="on-air">${dy.onAirText || 'ON AIR'}</span>`; 9514 } 9515 9516 html += `<div class="dy-list-item ${activeClass} ${hiddenClass}" style="${inlineStyle}${hiddenStyle}" onclick="window.dyRadio.playStation(${idx}, event);">`; 9517 html += ` <div class="dy-list-item-img-wrap">`; 9518 html += ` <img src="${baseLogo}" class="dy-list-item-logo" style="transition: opacity 0.8s;">`; 9519 html += ` <img src="${coverTarget}" class="dy-list-item-cover" style="transition: opacity 0.8s; opacity: ${(st.meta && st.meta.img && !dy.isDefault(st.meta.img)) ? '1' : '0'};">`; 9520 html += ` </div>`; 9521 html += ` <div class="dy-list-item-text">`; 9522 html += ` ${onAirHtml}`; 9523 html += ` <div class="dy-list-name">${st.name}</div>`; 9524 html += ` <div class="dy-list-artist dy-station-artist-${idx}">${metaS}</div>`; 9525 html += ` <div class="dy-list-title dy-station-title-${idx}">${metaT}</div>`; 9526 html += ` </div></div>`; 9527 }); 9528 9529 if (initialCount > 0 && dy.stations.length > initialCount) { 9530 html += `<div class="dy-list-btn-more" style="text-align: center; margin-top: 10px;">`; 9531 html += `<button onclick="this.querySelector('.dy-btn-icon').style.transform='rotate(180deg)'; var btn=this; var list=this.closest('.dy-standalone-list'); list.querySelectorAll('.dy-list-hidden-item').forEach(function(el){ el.style.display=''; el.classList.add('dy-list-reveal'); el.classList.remove('dy-list-hidden-item'); }); setTimeout(function(){ btn.parentElement.style.display='none'; }, 400);" style="background: ${btnBg}; color: ${btnColor}; font-size: ${btnSize}px; font-weight: ${btnWeight}; border-radius: ${btnRadius}px; border: none; padding: 12px 24px; cursor: pointer; transition: all 0.3s ease; width: 100%; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px; letter-spacing: 0.5px; line-height: 1;"><i class="fas fa-chevron-down dy-btn-icon" style="transition: transform 0.4s ease;"></i><span>${btnText}</span></button>`; 9532 html += `</div>`; 9533 } 9534 9535 return html; 9536 }, 9537 9538 exitPodcastMode: (e) => { 9539 if (e) { 9540 e.stopPropagation(); 9541 e.preventDefault(); 9542 } 9543 dy.forceRadioList = true; // Show radio list but keep podcast active 9544 // dy.podcastMeta = null; // We REMOVE this so the player bar keeps showing the podcast 9545 dy.refreshUI();
9546 9547 // Reset scroll for all relevant list containers 9548 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 9549 dd.scrollTop = 0; 9550 }); 9551 9552 // If no manual volume adjustment yet, apply default for radios 9553 if (!dy.hasManualVolume) { 9554 dy.audio.volume = dy.defVolRadio; 9555 dy.updateVolumeUI(); 9556 } 9557 }, 9558 9559 toggleFSListMode: (toRadio, e) => { 9560 if (e) e.stopPropagation(); 9561 dy.forceRadioList = toRadio; 9562 dy.refreshUI(); 9563 }, 9564 9565 buildPodcastDropdownHTML: (showFooter = true, isPC = false) => { 9566 const dy = window.dyRadio; 9567 let html = ''; 9568 9569 let episodes = (dy.currentEpisodes && dy.currentEpisodes.length > 0) ? dy.currentEpisodes : (dy.podcastMeta ? [{ 9570 url: dy.audio.src, 9571 title: dy.podcastMeta.t, 9572 image: dy.podcastMeta.img, 9573 author: dy.podcastMeta.s, 9574 date: "En lecture" 9575 }] : []); 9576 9577 if (episodes.length === 0) { 9578 return '<div style="padding:20px;text-align:center;color:#fff;opacity:0.6;">Aucun épisode trouvé</div>'; 9579 } 9580 9581 let headerText = isPC ? (dy.sidebarPcPodcastHeaderText || 'Nos derniers podcasts') : 'Ãpisodes du Podcast'; 9582 html += '<div style="padding: 10px 15px; font-weight: 700; color: #a08053; border-bottom: 1px solid rgba(255,255,255,0.1); margin-bottom: 10px; font-size: 11px; text-transform: uppercase;">' + headerText + '</div>'; 9583 9584 episodes.forEach((ep) => { 9585 const activeClass = (dy.audio.src === ep.url) ? 'is-playing' : ''; 9586 html += `<div class="dy-dropdown-item ${activeClass}" onclick="window.dyRadio.playPodcastItemByUrl('${ep.url}', event); window.dyRadio.closeDropdowns(); if(window.dyToggleFSList) window.dyToggleFSList(false);">`; 9587 html += ` <div class="dy-dd-img-wrap"><img src="${ep.image}" style="width: 100%; height: 100%; object-fit: cover;"></div>`; 9588 html += ` <div class="dy-dd-text">`; 9589 html += ` <div class="dy-dd-name">${ep.date || 'Podcast'}</div>`; 9590 html += ` <div class="dy-dd-artist" style="white-space: normal !important; overflow: visible !important; text-overflow: clip !important; line-height: 1.3; font-weight: 700;">${ep.title}</div>`; 9591 html += ` <div class="dy-dd-title" style="white-space: normal !important; overflow: visible !important; text-overflow: clip !important; line-height: 1.2;">${ep.author || ''}</div>`; 9592 html += ` </div></div>`; 9593 }); 9594 9595 if (showFooter) { 9596 html += '<div class="dy-action-card" onclick="window.dyRadio.exitPodcastMode(event)"><i class="fas fa-radio"></i> RETOUR AUX RADIOS</div>'; 9597 } 9598 return html; 9599 }, 9600 9601 ensureEpisodesLoaded: (callback) => { 9602 const dy = window.dyRadio; 9603 if (dy.activeFallbackRSS && (!dy.currentEpisodes || dy.currentEpisodes.length <= 1)) { 9604 document.querySelectorAll('.dy-mini-dropdown, .dy-fs-list-scroll').forEach(dd => { 9605 dd.innerHTML = '<div style="padding:20px;text-align:center;color:#fff;opacity:0.6;"><i class="fas fa-spinner fa-spin" style="margin-right:8px;"></i> Chargement des épisodes...</div>'; 9606 }); 9607 9608 const formData = new FormData(); 9609 formData.append('action', 'dy_load_fallback_rss'); 9610 formData.append('rss', dy.activeFallbackRSS); 9611 9612 const ajaxPath = dy.ajaxurl || dy.ajaxUrl || "/wp-admin/admin-ajax.php"; 9613 fetch(ajaxPath, { 9614 method: 'POST', 9615 body: formData 9616 }) 9617 .then(r => r.json()) 9618 .then(res => { 9619 if (res.success && res.data && res.data.length > 0) { 9620 const oldUrls = dy.currentEpisodes ? dy.currentEpisodes.map(ep => { 9621 const normalize = (u) => { 9622 if (!u) return ""; 9623 try { return u.split('?')[0].split('#')[0].toLowerCase().replace(/\/$/, "").replace(/^https?:\/\//i, "").trim(); } catch(e) { return u; } 9624 }; 9625 return normalize(ep.url); 9626 }) : []; 9627 9628 const newFiltered = res.data.filter(newEp => { 9629 const normalize = (u) => { 9630 if (!u) return ""; 9631 try { return u.split('?')[0].split('#')[0].toLowerCase().replace(/\/$/, "").replace(/^https?:\/\//i, "").trim(); } catch(e) { return u; } 9632 }; 9633 return !oldUrls.includes(normalize(newEp.url)); 9634 }); 9635 9636 dy.currentEpisodes = (dy.currentEpisodes || []).concat(newFiltered); 9637 dy.refreshUI();
9638 } 9639 if (typeof callback === 'function') callback(); 9640 }) 9641 .catch(e => { 9642 console.error('DEVYVES: Error preloading fallback RSS:', e); 9643 dy.refreshUI(); 9644 if (typeof callback === 'function') callback(); 9645 }); 9646 } else { 9647 if (typeof callback === 'function') callback(); 9648 } 9649 }, 9650 9651 playPodcastItemByUrl: (url, e) => { 9652 if (e) e.stopPropagation(); 9653 // Safer lookup to avoid escaping issues in selector 9654 const item = Array.from(document.querySelectorAll('.dy-podcast-item')).find(i => i.dataset.url === url); 9655 if (item) { 9656 dy.playPodcast(item); 9657 } else { 9658 const ep = dy.currentEpisodes.find(p => p.url === url); 9659 if (ep) { 9660 dy.audio.pause(); 9661 dy.audio.src = ep.url; 9662 dy.audio.load(); 9663 dy.audio.play(); 9664 dy.podcastMeta = { 9665 s: ep.author, 9666 t: ep.title, 9667 img: ep.image, 9668 logo: ep.image, 9669 d: ep.date 9670 }; 9671 dy.currentIndex = -1; 9672 dy.refreshPlayState(); 9673 dy.refreshUI(); 9674 } 9675 } 9676 }, 9677 9678 // Share Episode Feature (v4.6) 9679 shareEpisode: (btn, e) => { 9680 if (e) { 9681 e.stopPropagation(); 9682 e.preventDefault(); 9683 } 9684 const item = btn.closest('.dy-podcast-item'); 9685 if (!item) return; 9686 9687 const list = btn.closest('.dy-podcast-list'); 9688 const wrapLimit = list ? parseInt(list.dataset.shareWrap) : 0; 9689 9690 const epUrl = item.dataset.url; 9691 const epTitle = item.dataset.title; 9692 const epAuthor = item.dataset.author; 9693 9694 const pageUrl = window.location.href.split('?')[0]; 9695 const shareUrl = pageUrl + '?dy_ep=' + encodeURIComponent(epUrl); 9696 const brand = document.title.split(' - ')[0] || "Radio"; 9697 const authorTxt = (epAuthor && epAuthor !== brand) ? ` de ${epAuthor}` : ""; 9698 const shareText = `Ãcoutez "${epTitle}"${authorTxt} sur ${brand} : `; 9699 9700 // Close existing popups 9701 document.querySelectorAll('.dy-podcast-share-popup').forEach(p => p.remove()); 9702 9703 const popup = document.createElement('div'); 9704 popup.className = 'dy-podcast-share-popup is-active'; 9705 9706 if (btn.dataset.iconColor) popup.style.setProperty('--dy-share-icon-col', btn.dataset.iconColor); 9707 if (btn.dataset.textColor) popup.style.setProperty('--dy-share-text-col', btn.dataset.textColor); 9708 9709 const epImage = item.dataset.image; 9710 9711 let displayTitle = epTitle; 9712 if (wrapLimit > 0 && displayTitle.length > wrapLimit) { 9713 const words = displayTitle.split(' '); 9714 let lines = []; 9715 let currentLine = ""; 9716 words.forEach(word => { 9717 if ((currentLine + word).length > wrapLimit) { 9718 if (currentLine.length > 0) lines.push(currentLine.trim()); 9719 currentLine = word + " "; 9720 } else { 9721 currentLine += word + " "; 9722 } 9723 }); 9724 if (currentLine.length > 0) lines.push(currentLine.trim()); 9725 displayTitle = lines.join("<br>"); 9726 } 9727 9728 popup.innerHTML = ` 9729 <div class="dy-share-header compact"> 9730 <img src="${epImage}" class="dy-share-cover" alt="Cover"> 9731 <div class="dy-share-info"> 9732 <div class="dy-share-title">${displayTitle}</div> 9733 </div> 9734 </div> 9735 <div class="dy-share-grid"></div> 9736 `; 9737 9738 const grid = popup.querySelector('.dy-share-grid'); 9739 9740 const options = [{ 9741 name: 'WhatsApp', 9742 icon: 'fab fa-whatsapp',
9743 url: `https://api.whatsapp.com/send?text=${encodeURIComponent(shareText + shareUrl)}` 9744 }, 9745 { 9746 name: 'X / Twitter', 9747 icon: 'svg-x', 9748 url: `https://twitter.com/intent/tweet?url=${encodeURIComponent(shareUrl)}&text=${encodeURIComponent(shareText)}` 9749 }, 9750 { 9751 name: 'LinkedIn', 9752 icon: 'fab fa-linkedin-in', 9753 url: `https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(shareUrl)}` 9754 }, 9755 { 9756 name: 'Instagram', 9757 icon: 'fab fa-instagram', 9758 url: '#', 9759 copy: true 9760 }, 9761 { 9762 name: 'E-mail', 9763 icon: 'fas fa-envelope', 9764 url: `mailto:?subject=${encodeURIComponent(epTitle)}&body=${encodeURIComponent(shareText + shareUrl)}` 9765 }, 9766 { 9767 name: 'Copier le lien', 9768 icon: 'fas fa-copy', 9769 url: '#', 9770 copy: true 9771 } 9772 ]; 9773 9774 options.forEach(opt => { 9775 const a = document.createElement('a'); 9776 a.href = opt.url; 9777 a.className = 'dy-share-option-compact'; 9778 if (opt.copy) a.onclick = (ex) => { 9779 ex.preventDefault(); 9780 navigator.clipboard.writeText(shareUrl).then(() => { 9781 a.innerHTML = '<i class="fas fa-check" style="color:#2ecc71;"></i> COPIÃ'; 9782 setTimeout(() => popup.remove(), 1000); 9783 }); 9784 }; 9785 else a.target = '_blank'; 9786 9787 if (opt.icon === 'svg-x') { 9788 a.innerHTML = `<svg viewbox="0 0 24 24" style="width:18px; fill:currentColor; margin-bottom:2px;"><path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"/></svg> ${opt.name}`; 9789 } else { 9790 a.innerHTML = `<i class="${opt.icon}"></i> ${opt.name}`; 9791 } 9792 grid.appendChild(a); 9793 }); 9794 9795 document.body.appendChild(popup); 9796 9797 // Position popup near button (Absolute to body) 9798 const rect = btn.getBoundingClientRect(); 9799 popup.style.position = 'absolute'; 9800 popup.style.top = (rect.top + window.scrollY - popup.offsetHeight - 15) + 'px'; 9801 popup.style.left = (rect.left + window.scrollX - (popup.offsetWidth / 2) + (btn.offsetWidth / 2)) + 'px'; 9802 9803 const closePopup = (ev) => { 9804 if (!popup.contains(ev.target) && ev.target !== btn) { 9805 popup.remove(); 9806 document.removeEventListener('click', closePopup); 9807 } 9808 }; 9809 setTimeout(() => document.addEventListener('click', closePopup), 10); 9810 }, 9811 9812 // Share Station Feature (v4.6) 9813 shareStation: (btn, e) => { 9814 if (e) { 9815 e.stopPropagation(); 9816 e.preventDefault(); 9817 } 9818 const shareUrl = btn.dataset.shareUrl; 9819 const stName = btn.dataset.stationName; 9820 const stLogo = btn.dataset.stationLogo; 9821 9822 const brand = document.title.split(' - ')[0] || "Radio"; 9823 const shareText = `Ãcoutez ${stName} sur ${brand} : `; 9824 9825 // Close existing popups 9826 document.querySelectorAll('.dy-podcast-share-popup').forEach(p => p.remove()); 9827 9828 const popup = document.createElement('div'); 9829 popup.className = 'dy-podcast-share-popup is-active'; 9830 9831 if (btn.dataset.iconColor) popup.style.setProperty('--dy-share-icon-col', btn.dataset.iconColor); 9832 if (btn.dataset.textColor) popup.style.setProperty('--dy-share-text-col', btn.dataset.textColor); 9833 9834 popup.innerHTML = ` 9835 <div class="dy-share-header compact"> 9836 <img src="${stLogo}" class="dy-share-cover" alt="Logo"> 9837 <div class="dy-share-info"> 9838 <div class="dy-share-title">${stName}</div> 9839 </div> 9840 </div> 9841 <div class="dy-share-grid"></div> 9842 `; 9843 9844 const grid = popup.querySelector('.dy-share-grid'); 9845 9846 const options = [{ 9847 name: 'WhatsApp', 9848 icon: 'fab fa-whatsapp',
9849 url: `https://api.whatsapp.com/send?text=${encodeURIComponent(shareText + shareUrl)}` 9850 }, 9851 { 9852 name: 'X / Twitter', 9853 icon: 'svg-x', 9854 url: `https://twitter.com/intent/tweet?url=${encodeURIComponent(shareUrl)}&text=${encodeURIComponent(shareText)}` 9855 }, 9856 { 9857 name: 'LinkedIn', 9858 icon: 'fab fa-linkedin-in', 9859 url: `https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(shareUrl)}` 9860 }, 9861 { 9862 name: 'Instagram', 9863 icon: 'fab fa-instagram', 9864 url: '#', 9865 copy: true 9866 }, 9867 { 9868 name: 'E-mail', 9869 icon: 'fas fa-envelope', 9870 url: `mailto:?subject=${encodeURIComponent(stName)}&body=${encodeURIComponent(shareText + shareUrl)}` 9871 }, 9872 { 9873 name: 'Copier le lien', 9874 icon: 'fas fa-copy', 9875 url: '#', 9876 copy: true 9877 } 9878 ]; 9879 9880 options.forEach(opt => { 9881 const a = document.createElement('a'); 9882 a.href = opt.url; 9883 a.className = 'dy-share-option-compact'; 9884 if (opt.copy) a.onclick = (ex) => { 9885 ex.preventDefault(); 9886 navigator.clipboard.writeText(shareUrl).then(() => { 9887 a.innerHTML = '<i class="fas fa-check" style="color:#2ecc71;"></i> COPIÃ'; 9888 setTimeout(() => popup.remove(), 1000); 9889 }); 9890 }; 9891 else a.target = '_blank'; 9892 9893 if (opt.icon === 'svg-x') { 9894 a.innerHTML = `<svg viewbox="0 0 24 24" style="width:18px; fill:currentColor; margin-bottom:2px;"><path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"/></svg> ${opt.name}`; 9895 } else { 9896 a.innerHTML = `<i class="${opt.icon}"></i> ${opt.name}`; 9897 } 9898 grid.appendChild(a); 9899 }); 9900 9901 document.body.appendChild(popup); 9902 9903 const rect = btn.getBoundingClientRect(); 9904 popup.style.position = 'absolute'; 9905 popup.style.top = (rect.top + window.scrollY - popup.offsetHeight - 15) + 'px'; 9906 popup.style.left = (rect.left + window.scrollX - (popup.offsetWidth / 2) + (btn.offsetWidth / 2)) + 'px'; 9907 9908 const closePopup = (ev) => { 9909 if (!popup.contains(ev.target) && ev.target !== btn) { 9910 popup.remove(); 9911 document.removeEventListener('click', closePopup); 9912 } 9913 }; 9914 setTimeout(() => document.addEventListener('click', closePopup), 10); 9915 }, 9916 9917 // Auto-Play shared episode on load 9918 checkSharedEpisode: () => { 9919 const params = new URLSearchParams(window.location.search); 9920 const sharedUrl = params.get('dy_ep'); 9921 if (sharedUrl) { 9922 const normalize = (u) => { 9923 if (!u) return ""; 9924 try { 9925 u = decodeURIComponent(u); 9926 } catch(e) {} 9927 try { 9928 return u.split('?')[0].split('#')[0].toLowerCase().replace(/\/$/, "").replace(/^https?:\/\//i, "").replace(/^www\./i, "").trim(); 9929 } catch (e) { 9930 return u; 9931 } 9932 }; 9933 const sharedNorm = normalize(sharedUrl); 9934 let attempts = 0; 9935 const maxAttempts = 10; // Retry for up to 10 seconds 9936 9937 const tryLocateAndPlay = () => { 9938 attempts++; 9939 let items = document.querySelectorAll('.dy-podcast-item'); 9940 let item = Array.from(items).find(i => normalize(i.dataset.url) === sharedNorm); 9941 9942 if (!item) { 9943 const lists = document.querySelectorAll('.dy-podcast-list'); 9944 for (let list of lists) {
9945 if (list.dataset.episodes) { 9946 try { 9947 const episodes = JSON.parse(list.dataset.episodes); 9948 const idx = episodes.findIndex(ep => normalize(ep.url) === sharedNorm); 9949 if (idx !== -1) { 9950 const container = list.querySelector('.dy-podcast-items-container'); 9951 if (container) { 9952 const currentOffset = parseInt(list.dataset.currentOffset || 0); 9953 const targetOffset = Math.max(currentOffset, idx + 1); 9954 const toAdd = episodes.slice(0, targetOffset); 9955 let html = ''; 9956 toAdd.forEach(ep => { 9957 html += buildEpHTML(ep, list); 9958 }); 9959 container.innerHTML = html; 9960 list.dataset.currentOffset = targetOffset; 9961
9962 const loadMoreWrap = list.querySelector('.dy-load-more-wrap'); 9963 if (loadMoreWrap) { 9964 if (targetOffset >= episodes.length) { 9965 loadMoreWrap.style.display = 'none'; 9966 } else { 9967 loadMoreWrap.style.display = 'block'; 9968 } 9969 } 9970 9971 items = document.querySelectorAll('.dy-podcast-item'); 9972 item = Array.from(items).find(i => normalize(i.dataset.url) === sharedNorm); 9973 break; 9974 } 9975 } 9976 } catch (err) { 9977 console.error("DEVYVES: Error parsing dataset episodes:", err); 9978 } 9979 } 9980 } 9981 } 9982 9983 const dy = window.dyRadio; 9984 if (item && dy && typeof dy.playPodcast === 'function') { 9985 setTimeout(() => { 9986 // Automatically reveal hidden parent tabs/accordions (Avada, Bootstrap, WPBakery, Elementor) 9987 let parent = item.parentElement; 9988 while (parent && parent !== document.body) { 9989 if (parent.classList.contains('fusion-tab-content') || parent.classList.contains('tab-pane') || parent.style.display === 'none') { 9990 const id = parent.id; 9991 if (id) { 9992 const tabTrigger = document.querySelector(`a[href="#${id}"], [data-target="#${id}"], [aria-controls="${id}"]`); 9993 if (tabTrigger) { 9994 try { tabTrigger.click(); } catch(e) {} 9995 console.log("DEVYVES: Revealed parent tab for podcast list:", parent); 9996 } 9997 } 9998 } 9999 if (parent.classList.contains('fusion-panel') || parent.classList.contains('panel-collapse')) { 10000 const toggleHeading = parent.parentElement ? parent.parentElement.querySelector('.fusion-toggle-heading, .panel-title a') : null; 10001 if (toggleHeading) { 10002 try { toggleHeading.click(); } catch(e) {} 10003 console.log("DEVYVES: Revealed parent toggle/accordion:", toggleHeading); 10004 } 10005 } 10006 parent = parent.parentElement; 10007 } 10008 10009 // Reveal if hidden 10010 if (item.style.display === 'none' || item.dataset.hidden === "1") { 10011 const list = item.closest('.dy-podcast-list'); 10012 if (list) { 10013 const hiddenItems = list.querySelectorAll('.dy-podcast-item[data-hidden="1"]'); 10014 for (let hi of hiddenItems) { 10015 hi.style.display = 'flex'; 10016 hi.removeAttribute('data-hidden'); 10017 if (hi === item) break; 10018 } 10019 } 10020 } 10021 10022 // Bulletproof Dual Scroll to bypass theme smooth scroll overrides 10023 try { 10024 item.scrollIntoView({ 10025 behavior: 'smooth', 10026 block: 'center' 10027 }); 10028 } catch (e) { 10029 console.warn("DEVYVES: scrollIntoView failed:", e); 10030 } 10031 try { 10032 const yOffset = -150; 10033 const y = item.getBoundingClientRect().top + window.pageYOffset + yOffset; 10034 window.scrollTo({ top: y, behavior: 'smooth' });
10035 } catch (e) { 10036 console.warn("DEVYVES: window.scrollTo failed:", e); 10037 } 10038 10039 // Auto-play attempt 10040 setTimeout(() => { 10041 // Load episode metadata immediately 10042 dy.playPodcast(item); 10043 10044 // Try direct autoplay with sound first 10045 let playPromise = dy.audio.play(); 10046 if (playPromise !== undefined) { 10047 playPromise.then(() => { 10048 console.log("DEVYVES: Autoplay allowed directly with audio!"); 10049 dy.refreshPlayState(); 10050 dy.refreshUI(); 10051 }).catch(error => { 10052 console.log("DEVYVES: Direct Autoplay blocked. Falling back to muted autoplay + gesture trigger.", error); 10053 10054 // Fallback to muted autoplay 10055 dy.audio.muted = true; 10056 dy.audio.play(); 10057 10058 // Setup global listener to unmute on first gesture without blocking UI 10059 const triggerHand = () => { 10060 dy.audio.muted = false; 10061 dy.audio.play(); 10062 dy.refreshPlayState(); 10063 dy.refreshUI(); 10064 document.removeEventListener('click', triggerHand, true); 10065 document.removeEventListener('touchstart', triggerHand, true); 10066 document.removeEventListener('keydown', triggerHand, true); 10067 }; 10068 10069 document.addEventListener('click', triggerHand, { capture: true, once: true }); 10070 document.addEventListener('touchstart', triggerHand, { capture: true, once: true }); 10071 document.addEventListener('keydown', triggerHand, { capture: true, once: true }); 10072 }); 10073 } else { 10074 // Legacy fallback 10075 dy.audio.muted = true; 10076 dy.audio.play(); 10077 10078 const triggerHand = () => { 10079 dy.audio.muted = false; 10080 dy.audio.play(); 10081 dy.refreshPlayState(); 10082 dy.refreshUI(); 10083 document.removeEventListener('click', triggerHand, true); 10084 document.removeEventListener('touchstart', triggerHand, true); 10085 document.removeEventListener('keydown', triggerHand, true); 10086 }; 10087 10088 document.addEventListener('click', triggerHand, { capture: true, once: true }); 10089 document.addEventListener('touchstart', triggerHand, { capture: true, once: true }); 10090 document.addEventListener('keydown', triggerHand, { capture: true, once: true });
10091 } 10092 }, 800); 10093 }, 200); 10094 } else if (attempts < maxAttempts) { 10095 setTimeout(tryLocateAndPlay, 1000); 10096 } 10097 }; 10098 10099 // Initial execution after 1500ms 10100 setTimeout(tryLocateAndPlay, 1500); 10101 } 10102 }, 10103 10104 toggleDropdown: (el, e, mode = null) => { 10105 const dy = window.dyRadio; 10106 if (e) { 10107 e.preventDefault(); 10108 e.stopPropagation(); 10109 } 10110 10111 // Block if disabled (from the button itself or the container) 10112 const targetBtn = e ? e.target.closest('.dy-expand-mini-btn') : null; 10113 if (targetBtn && targetBtn.classList.contains('disabled')) return; 10114 if (el && el.classList.contains('disabled')) return; 10115 10116 if (mode === 'radio') { 10117 dy.forceRadioList = true; 10118 dy.activeFallbackRSS = null; 10119 } else if (mode === 'podcast') { 10120 if (!dy.podcastMeta) { 10121 if (dy.globalFallbackRSS) { 10122 if (dy.activeFallbackRSS !== dy.globalFallbackRSS) { 10123 dy.activeFallbackRSS = dy.globalFallbackRSS; 10124 dy.currentEpisodes = []; // Clear existing so ensureEpisodesLoaded loads it 10125 } 10126 dy.forceRadioList = false; 10127 } else { 10128 dy.closeDropdowns(); 10129 return; // Block if no fallback configured 10130 } 10131 } else { 10132 dy.forceRadioList = false; 10133 } 10134 } else { 10135 // General expand button clicked 10136 if (!dy.podcastMeta) { 10137 dy.activeFallbackRSS = null; 10138 dy.forceRadioList = false; 10139 } 10140 } 10141 10142 const sidebar = el.closest('.dy-sticky-footer-pc'); 10143 const isSidebar = !!sidebar; 10144 10145 dy.refreshUI(); 10146 10147 const dropdown = isSidebar ? sidebar.querySelector('.dy-mini-dropdown') : el.querySelector('.dy-mini-dropdown'); 10148 10149 if (dropdown) { 10150 const isActive = dropdown.classList.contains('is-active'); 10151 const currentlyShowing = dropdown.dataset.currentList || ''; 10152 const showRadioList = ((!dy.podcastMeta && !dy.activeFallbackRSS) || dy.forceRadioList); 10153 const wantsToShow = showRadioList ? 'radio' : 'podcast'; 10154 10155 // If active and we want to show the same list, just close it. 10156 // If active but we want to show a DIFFERENT list, keep it open and switch content. 10157 const shouldCloseOnly = isActive && (currentlyShowing === wantsToShow); 10158 10159 dy.closeDropdowns(); 10160 10161 if (!shouldCloseOnly) { 10162 const showFooter = !isSidebar; 10163 dropdown.dataset.currentList = wantsToShow; 10164 dropdown.classList.add('is-active'); // Keep it active immediately to show spinner during fetch 10165 10166 if (!showRadioList) { 10167 dy.ensureEpisodesLoaded(() => { 10168 dropdown.innerHTML = dy.buildPodcastDropdownHTML(showFooter, isSidebar); 10169 dropdown.scrollTop = 0; 10170 }); 10171 } else { 10172 dropdown.innerHTML = dy.buildRadioDropdownHTML(showFooter); 10173 dropdown.scrollTop = 0; 10174 } 10175 } 10176 } 10177 }, 10178 10179 closeDropdowns: () => { 10180 document.querySelectorAll('.dy-mini-dropdown.is-active').forEach(dd => { 10181 dd.classList.remove('is-active'); 10182 }); 10183 dy.closeVolumePopups(); 10184 10185 // Ensure carousel listeners are still active and updated 10186 dy.initCarousels(); 10187 }, 10188 10189 upMeta: () => { 10190 if (!dy.globalJson || dy.stations.length === 0) return; 10191 let _t = Date.now(); 10192 10193 // Logic for Cross-Domain Proxy (v4.6) 10194 let fetchUrl = `${dy.globalJson}?t=${_t}`; 10195 try { 10196 const jsonUrl = new URL(dy.globalJson); 10197 if (jsonUrl.hostname !== window.location.hostname) { 10198 fetchUrl = `${dy.ajaxurl}?action=dy_get_metadata&t=${_t}`; 10199 } 10200 } catch (e) { 10201 // If invalid URL, fallback to direct fetch or let it fail 10202 } 10203 10204 fetch(fetchUrl).then(r => r.json()).then(d => { 10205 let changed = false; 10206 dy.stations.forEach((st, idx) => { 10207 let key = st.json_key || ""; 10208 let arr = d[key] || d[key.toLowerCase()] || d[Object.keys(d).find(k => k.toLowerCase() === key.toLowerCase())]; 10209 10210 // Fallback logic (v4.6): If no isCurrent found, take first entry 10211 let cur = arr ? (arr.find(i => i.isCurrent) || arr[0]) : null; 10212 if (cur) { 10213 let s = cur.subtitle ? dy.decode(cur.subtitle) : ''; 10214 if (s.endsWith('...')) s = s.slice(0, -3); 10215 const t = cur.title ? dy.decode(cur.title) : ''; 10216 10217 let coverSmall = (cur.cover_small || '').replace(/&/g, '&'); 10218 let coverNormal = (cur.cover || '').replace(/&/g, '&'); 10219 10220 let img = (s.trim().toLowerCase() === "radio") ? '' : 10221 (coverSmall && !dy.isDefault(coverSmall) && !dy.failedImgs.has(coverSmall)) ? coverSmall : 10222 (coverNormal && !dy.isDefault(coverNormal) && !dy.failedImgs.has(coverNormal)) ? coverNormal : (st.logo || ''); 10223 10224 if (!st.meta || st.meta.s !== s || st.meta.t !== t || st.meta.img !== img) { 10225 st.meta = { 10226 s, 10227 t, 10228 img 10229 }; 10230 changed = true; 10231 } 10232 } 10233 }); 10234 if (changed || document.querySelectorAll('.dy-station-card').length > 0) { 10235 dy.refreshUI();
10236 10237 // Fallback: If metadata changed, the ad is likely over 10238 if (dy.prerollAntiSkip && dy.isPrerollActive && changed) { 10239 console.log("DEVYVES: Metadata changed, clearing preroll state (Fallback)"); 10240 dy.isPrerollActive = false; 10241 if (dy.prerollSafetyTimer) clearTimeout(dy.prerollSafetyTimer); 10242 if (dy.pendingStationIdx !== null) { 10243 const next = dy.pendingStationIdx; 10244 dy.pendingStationIdx = null; 10245 dy.playStation(next); 10246 } 10247 } 10248 } 10249 10250 // Pre-roll anti-skip logic check 10251 if (dy.prerollAntiSkip && dy.pendingStationIdx !== undefined && dy.pendingStationIdx !== null) { 10252 if (!dy.isPrerollActive) { 10253 const nextIdx = dy.pendingStationIdx; 10254 dy.pendingStationIdx = null; 10255 dy.playStation(nextIdx); 10256 } 10257 } 10258 }).catch(e => console.error('Meta Error:', e)); 10259 }, 10260 10261 toggle: (e) => { 10262 if (e) e.stopPropagation(); 10263 const isP = dy.audio.paused; 10264 10265 // Anti-skip logic: Block pause/stop during an active preroll if option is enabled 10266 if (!isP && dy.prerollAntiStop && dy.prerollAntiSkip && (dy.isPrerollActive || dy.isStartupLock)) { 10267 console.log("DEVYVES: Stop/Pause blocked during active preroll."); 10268 return; 10269 } 10270 10271 if (isP) { 10272 if (dy.currentIndex >= 0) { 10273 const st = dy.stations[dy.currentIndex]; 10274 if (st && dy.audio.src !== st.flux) { 10275 dy.audio.src = st.flux; 10276 } 10277 } 10278 // For podcasts (currentIndex == -1), src is already set 10279 let playPromise = dy.audio.play(); 10280 if (playPromise !== undefined) { 10281 playPromise.catch(error => console.log('Autoplay issue', error)); 10282 } 10283 } else { 10284 dy.audio.pause(); 10285 if (dy.currentIndex >= 0) { 10286 dy.audio.src = ""; 10287 dy.audio.load(); 10288 } 10289 } 10290 dy.refreshPlayState(); 10291 }, 10292 10293 playStationByKey: (key) => { 10294 const idx = dy.stations.findIndex(s => s.json_key === key || s.name.toLowerCase() === key.toLowerCase()); 10295 if (idx !== -1) dy.playStation(idx); 10296 else console.error("DEVYVES: Station non trouvée pour la clé : " + key); 10297 }, 10298 10299 playStation: (idx, e) => { 10300 if (e) { 10301 e.stopPropagation(); 10302 e.preventDefault(); 10303 } 10304 idx = parseInt(idx); 10305 const st = dy.stations[idx]; 10306 if (!st) return; 10307 10308 if (dy.currentIndex === idx) { 10309 dy.toggle(null); 10310 return; 10311 } 10312 10313 // Dual Volume Memory: Load saved radio volume or use default 10314 const savedRadioVol = localStorage.getItem('dy_volume_radio'); 10315 dy.audio.volume = (savedRadioVol !== null) ? parseFloat(savedRadioVol) : dy.defVolRadio; 10316 dy.updateVolumeUI(); 10317 10318 // Anti-skip logic: block if an ad is ACTIVELY playing OR loading 10319 if (dy.prerollAntiSkip && dy.currentIndex >= 0 && dy.currentIndex !== idx) { 10320 if (dy.isPrerollActive || dy.isStartupLock) { 10321 console.log("DEVYVES: Ad in progress or loading, queuing switch to station " + idx); 10322 dy.pendingStationIdx = idx; 10323 return; 10324 } 10325 } 10326 10327 dy.pendingStationIdx = null; 10328 dy.isPrerollActive = false; 10329 dy.adDuration = 0; 10330 dy.isStartupLock = dy.prerollAntiSkip ? true : false; 10331 10332 // Safety unlock for startup lock in case metadata never loads (e.g. network fail) 10333 if (dy.prerollSafetyTimer) clearTimeout(dy.prerollSafetyTimer); 10334 if (dy.isStartupLock) { 10335 dy.prerollSafetyTimer = setTimeout(() => { 10336 if (dy.isStartupLock) { 10337 dy.isStartupLock = false; 10338 if (dy.pendingStationIdx !== null) { 10339 const n = dy.pendingStationIdx; 10340 dy.pendingStationIdx = null; 10341 dy.playStation(n); 10342 } 10343 } 10344 }, 8000); // Max 8s wait for any metadata event before giving up or applying fallback 10345 } 10346 10347 dy.currentIndex = idx; 10348 dy.podcastMeta = null; 10349 dy.forceRadioList = false; 10350 dy.audio.pause(); 10351 dy.audio.src = st.flux; 10352 dy.audio.load(); 10353
10354 let playPromise = dy.audio.play(); 10355 if (playPromise !== undefined) { 10356 playPromise.catch(error => console.log('Autoplay issue', error)); 10357 } 10358 10359 dy.currentLink = st.link; 10360 dy.refreshPlayState(); 10361 dy.refreshUI(); 10362 10363 // Close everything on selection (Mobile) 10364 const isFSMobileActive = document.querySelector('.dy-mobile-fullscreen') && document.querySelector('.dy-mobile-fullscreen').classList.contains('is-active'); 10365 if (isFSMobileActive && !window.dyOpenedListFromMini) { 10366 if (window.dyToggleFSList) window.dyToggleFSList(false); 10367 } else { 10368 if (window.dyToggleFS) window.dyToggleFS(false); 10369 if (window.dyToggleFSList) window.dyToggleFSList(false); 10370 } 10371 }, 10372 10373 playPodcast: (el) => { 10374 const url = el.dataset.url; 10375 const title = el.dataset.title; 10376 const author = el.dataset.author; 10377 const image = el.dataset.image; 10378 const date = el.dataset.date || (el.querySelector('.dy-podcast-date') ? (el.querySelector('.dy-podcast-date').textContent || el.querySelector('.dy-podcast-date').innerText) : ""); 10379 10380 if (dy.audio.src === url && !dy.audio.paused) { 10381 dy.toggle(null); 10382 return; 10383 } 10384 10385 // Capture the current list of episodes from this container 10386 const listContainer = el.closest('.dy-podcast-list'); 10387 if (listContainer) { 10388 dy.activeFallbackRSS = listContainer.dataset.fallbackRss || ""; 10389 dy.activeFallbackEnable = listContainer.dataset.fallbackEnable; 10390 dy.activeFallbackDownloadEnable = listContainer.dataset.downloadEnable; 10391 const items = listContainer.querySelectorAll('.dy-podcast-item:not(.dy-search-hidden)'); 10392 dy.currentEpisodes = Array.from(items).map(i => ({ 10393 url: i.dataset.url, 10394 title: i.dataset.title, 10395 author: i.dataset.author, 10396 image: i.dataset.image, 10397 date: i.querySelector('.dy-podcast-date') ? (i.querySelector('.dy-podcast-date').textContent || i.querySelector('.dy-podcast-date').innerText) : "" 10398 })); 10399 } 10400 10401 dy.currentIndex = -1; 10402 dy.forceRadioList = false; 10403 10404 // Dual Volume Memory: Load saved podcast volume or use default 10405 const savedPodVol = localStorage.getItem('dy_volume_podcast'); 10406 dy.audio.volume = (savedPodVol !== null) ? parseFloat(savedPodVol) : dy.defVolPodcast; 10407 dy.updateVolumeUI(); 10408 dy.podcastMeta = { 10409 s: author || "Auteur inconnu", 10410 t: title || "Ãpisode sans titre", 10411 img: image, 10412 logo: image, 10413 d: date 10414 }; 10415 10416 dy.audio.pause(); 10417 dy.audio.src = url; 10418 dy.audio.load(); 10419 dy.audio.muted = false; 10420 10421 const startPlay = () => { 10422 let p = dy.audio.play(); 10423 if (p !== undefined) { 10424 p.catch(() => { 10425 console.log("DEVYVES: Autoplay blocked. Waiting for user interaction."); 10426 }); 10427 } 10428 dy.refreshPlayState(); 10429 dy.refreshUI(); 10430 }; 10431 10432 startPlay(); 10433 dy.currentLink = url; 10434 10435 const isFSMobileActive = document.querySelector('.dy-mobile-fullscreen') && document.querySelector('.dy-mobile-fullscreen').classList.contains('is-active'); 10436 if (isFSMobileActive && !window.dyOpenedListFromMini) {
10437 if (window.dyToggleFSList) window.dyToggleFSList(false); 10438 } else { 10439 if (window.dyToggleFS) window.dyToggleFS(false); 10440 if (window.dyToggleFSList) window.dyToggleFSList(false); 10441 } 10442 }, 10443 10444 playFirstPodcast: (e) => { 10445 if (e) { 10446 e.stopPropagation(); 10447 e.preventDefault(); 10448 } 10449 10450 // Si un podcast est déjà chargé (en lecture ou en pause), on bascule simplement l'état 10451 if (dy.currentIndex === -1 && dy.audio.src) { 10452 dy.toggle(null); 10453 return; 10454 } 10455 10456 const first = document.querySelector('.dy-podcast-item'); 10457 if (first) { 10458 dy.playPodcast(first); 10459 } else if (dy.currentEpisodes && dy.currentEpisodes.length > 0) { 10460 dy.playPodcastItemByUrl(dy.currentEpisodes[0].url); 10461 } else { 10462 console.log("DEVYVES: Aucun podcast trouvé sur la page."); 10463 } 10464 }, 10465 10466 updateVolume: (val) => { 10467 dy.audio.volume = val; 10468 // Save to the correct memory depending on mode 10469 if (dy.podcastMeta) { 10470 localStorage.setItem('dy_volume_podcast', val); 10471 } else { 10472 localStorage.setItem('dy_volume_radio', val); 10473 } 10474 localStorage.setItem('dy_volume', val); // Legacy fallback 10475 dy.updateVolumeUI(); 10476 10477 // Reset auto-close timer if a popup is active 10478 document.querySelectorAll('.dy-volume-wrap.is-active').forEach(el => { 10479 if (el._volTimer) clearTimeout(el._volTimer); 10480 el._volTimer = setTimeout(() => { 10481 el.classList.remove('is-active'); 10482 }, 6000); 10483 }); 10484 }, 10485 10486 initPodcastList: () => { 10487 document.addEventListener('mouseup', () => isScrubbing = false); 10488 document.addEventListener('touchend', () => isScrubbing = false); 10489 10490 // Combined Direct Click handler for instant response 10491 dy.handleFSVol = (e, bg) => { 10492 window.dyRadio.handleSlider(e, bg); 10493 }; 10494 10495 10496 10497 // Clock Update logic 10498 setInterval(() => { 10499 const now = new Date(); 10500 const h = String(now.getHours()).padStart(2, '0'); 10501 const m = String(now.getMinutes()).padStart(2, '0'); 10502 const s = String(now.getSeconds()).padStart(2, '0'); 10503 document.querySelectorAll('.dy-fs-clock').forEach(el => el.textContent = `${h}:${m}:${s}`); 10504 document.querySelectorAll('.radio-display').forEach(d => { 10505 // Ignore mobile bar & fullscreen in this loop for toggle playback 10506 if (!d || d.classList.contains('dy-mini-mobile-bar') || d.classList.contains('dy-mobile-fullscreen')) return; 10507 10508 if (!d.dataset.bound) { 10509 d.addEventListener('click', e => { 10510 if (e.target.closest('button, .fas, .dy-volume-wrap, .dy-mini-dropdown')) return; 10511 10512 // Fix v3.6: Empêcher le toggle si on est sur un mini-player (mode dropdown) ou sur la barre PC 10513 if ((d.classList.contains('dy-mini-player') && dy.miniAction === 'dropdown') || d.classList.contains('dy-sticky-footer-pc')) return; 10514 10515 dyRadio.toggle(); 10516 }); 10517 d.dataset.bound = "1"; 10518 } 10519 10520 // Bind Hover (v4.6 - Multi-mode zones) 10521 if (!d.dataset.hBoundV41) { 10522 d.addEventListener('mousemove', (e) => { 10523 if (d.classList.contains('dy-simple-player')) return; 10524 10525 const rect = d.getBoundingClientRect(); 10526 const relY = e.clientY - rect.top; 10527 const relX = e.clientX - rect.left; 10528 10529 const isPodMode = d.classList.contains('dy-podcast-mode'); 10530 if (isPodMode) { 10531 if (d.classList.contains('is-hover')) { 10532 d.classList.remove('is-hover'); 10533 dy.updateHoverText(d, false); 10534 } 10535 return; 10536 } 10537 10538 // Zone large pour Radio : On évite juste les boutons de gauche 10539 const isInfoZone = (relX > 80); 10540
10541 if (isInfoZone) { 10542 if (!d.classList.contains('is-hover')) { 10543 d.classList.add('is-hover'); 10544 dy.updateHoverText(d, true); 10545 } 10546 } else { 10547 if (d.classList.contains('is-hover')) { 10548 d.classList.remove('is-hover'); 10549 dy.updateHoverText(d, false); 10550 } 10551 } 10552 }); 10553 d.addEventListener('mouseleave', () => { 10554 if (d.classList.contains('is-hover')) { 10555 d.classList.remove('is-hover'); 10556 dy.updateHoverText(d, false); 10557 } 10558 }); 10559 d.dataset.hBoundV41 = "1"; 10560 } 10561 }); 10562 }, 1000); 10563 10564 // Prefetch on Hover or Touch (Instant Page Load via Promises) 10565 const prefetchLink = (url) => { 10566 if (!dy.pageCache[url]) { 10567 dy.pageCache[url] = fetch(url, { 10568 priority: 'low' 10569 }) 10570 .then(r => r.text()) 10571 .catch((e) => { 10572 delete dy.pageCache[url]; 10573 throw e; 10574 }); 10575 } 10576 }; 10577 10578 const handlePrefetchEvent = (e) => { 10579 const link = e.target.closest('a'); 10580 if (!link) return; 10581 const url = link.href; 10582 if (!url || url.includes('#') || url.includes('javascript:') || !url.startsWith(window.location.origin)) return; 10583 if (link.target && link.target !== '_self') return; 10584 if (link.hasAttribute('download') || url.includes('wp-admin') || url.includes('wp-login') || url.includes('wp-content')) return; 10585 prefetchLink(url); 10586 }; 10587 10588 document.addEventListener('mouseover', handlePrefetchEvent, { 10589 passive: true 10590 }); 10591 document.addEventListener('touchstart', handlePrefetchEvent, { 10592 passive: true 10593 }); 10594 10595 // Continuous Playback (AJAX Interceptor) 10596 document.addEventListener('click', e => { 10597 const link = e.target.closest('a'); 10598 if (!link) return; 10599 10600 const url = link.href; 10601 if (!url || url.includes('#') || url.includes('javascript:') || !url.startsWith(window.location.origin)) return; 10602 if (link.target && link.target !== '_self') return; 10603 if (link.hasAttribute('download')) return; 10604 if (url.includes('wp-admin') || url.includes('wp-login') || url.includes('wp-content')) return; 10605 10606 // Exclusions pour le menu mobile Avada (toggle + conteneur) afin de ne pas interférer 10607 if (e.target.closest('.awb-menu__m-toggle')) return; 10608 if (e.target.closest('.fusion-mobile-menu-container')) return; 10609 if (e.target.closest('.awb-mobile-menu')) return; 10610 10611 e.preventDefault(); 10612 dy.closeMenus(); 10613 dy.loadPage(url); 10614 }); 10615 10616 window.addEventListener('popstate', () => { 10617 dy.loadPage(window.location.href, false); 10618 }); 10619 10620 // Si l'écran s'élargit vers la version Desktop (>= 1025px), le mode plein écran mobile doit disparaître 10621 window.addEventListener('resize', () => { 10622 if (window.innerWidth >= 1025) { 10623 if (window.dyToggleFS) { 10624 window.dyToggleFS(false); 10625 } 10626 } 10627 }); 10628 10629 window.dyToggleFS = (open) => { 10630 const fs = document.querySelector('.dy-mobile-fullscreen'); 10631 if (fs) { 10632 if (open) { 10633 if (fs.parentNode !== document.body) { 10634 document.body.appendChild(fs); 10635 } 10636 fs.classList.add('is-active'); 10637 document.body.style.overflow = 'hidden'; 10638 document.querySelectorAll('.dy-mini-mobile-bar').forEach(bar => { 10639 bar.style.setProperty('display', 'none', 'important'); 10640 }); 10641 } else { 10642 fs.classList.remove('is-active'); 10643 document.body.style.overflow = ''; 10644 window.dyToggleFSList(false); 10645 document.querySelectorAll('.dy-mini-mobile-bar').forEach(bar => { 10646 bar.style.removeProperty('display'); 10647 }); 10648 window.dyOpenedListFromMini = false; 10649 } 10650 } 10651 }; 10652 10653 window.dyToggleFSList = (open) => { 10654 const dr = document.querySelector('.dy-fs-list-drawer'); 10655 if (dr) { 10656 if (open) { 10657 dr.classList.add('is-active'); 10658 if (dy.podcastMeta && !dy.forceRadioList) { 10659 dy.ensureEpisodesLoaded(); 10660 } 10661 } else { 10662 dr.classList.remove('is-active'); 10663 } 10664 } 10665 }; 10666 10667 // Refresh Loop for Marquee & Progress 10668 if (dy.refreshId) clearInterval(dy.refreshId); 10669 dy.refreshId = setInterval(dy.refreshUI, 1000); 10670 10671 // Initial Volume (Radio by default if no podcastMeta)
10672 const key = dy.podcastMeta ? 'dy_volume_podcast' : 'dy_volume_radio'; 10673 const def = dy.podcastMeta ? dy.defVolPodcast : dy.defVolRadio; 10674 const savedVol = localStorage.getItem(key) || localStorage.getItem('dy_volume'); 10675 10676 if (dy.audio) { 10677 dy.audio.volume = (savedVol !== null) ? parseFloat(savedVol) : def; 10678 setTimeout(dy.updateVolumeUI, 500); 10679 } 10680 }, 10681 10682 updateVolumeUI: () => { 10683 const vol = dy.audio.volume; 10684 const pct = vol * 100; 10685 document.querySelectorAll('.dy-mini-volume-fill').forEach(f => { 10686 const bg = f.closest('.dy-fs-slider-bg'); 10687 if (bg) { 10688 f.style.width = pct + '%'; 10689 f.style.height = '100%'; 10690 } else { 10691 f.style.height = pct + '%'; 10692 f.style.width = '100%'; 10693 } 10694 }); 10695 10696 document.querySelectorAll('.dy-fs-slider-fill').forEach(f => { 10697 f.style.width = pct + '%'; 10698 }); 10699 10700 document.querySelectorAll('.dy-volume-wrap').forEach(wrap => { 10701 if (vol === 0) wrap.classList.add('is-muted'); 10702 else wrap.classList.remove('is-muted'); 10703 10704 const waves = wrap.querySelectorAll('.dy-vol-wave'); 10705 if (waves.length >= 2) { 10706 waves[0].classList.toggle('active', vol > 0.1); 10707 waves[1].classList.toggle('active', vol > 0.6); 10708 } 10709 }); 10710 }, 10711 10712 pageCache: {}, 10713 10714 loadPage: (url, push = true) => { 10715 let loadingTimeout = setTimeout(() => { 10716 document.body.classList.add('ajax-loading'); 10717 }, 50); 10718 10719 const renderHtml = (html) => { 10720 const doc = new DOMParser().parseFromString(html, "text/html"); 10721 const target = document.querySelector("#main"); 10722 const source = doc.querySelector("#main"); 10723 10724 if (target && source) { 10725 document.body.className = doc.body.className; 10726 document.body.classList.remove('ajax-loading'); 10727 10728 target.innerHTML = source.innerHTML; 10729 document.title = doc.title; 10730 if (push) history.pushState({}, "", url); 10731 10732 source.querySelectorAll('script').forEach(oldS => { 10733 if (oldS.src) return; // Exclure les scripts externes pour éviter les lenteurs (Avada, Maps, etc.) 10734 const newS = document.createElement("script"); 10735 Array.from(oldS.attributes).forEach(a => newS.setAttribute(a.name, a.value)); 10736 newS.appendChild(document.createTextNode(oldS.innerHTML)); 10737 document.body.appendChild(newS); 10738 newS.parentNode.removeChild(newS); 10739 }); 10740 10741 const oldB = document.querySelector('#wpadminbar'), 10742 newB = doc.querySelector('#wpadminbar'); 10743 if (oldB && newB) oldB.innerHTML = newB.innerHTML; 10744 10745 dy.refreshPlayState(); 10746 dy.refreshUI(); 10747 window.scrollTo({ 10748 top: 0, 10749 behavior: 'auto' 10750 }); 10751 10752 document.dispatchEvent(new Event('DOMContentLoaded')); 10753 window.dispatchEvent(new Event('load')); 10754 if (window.jQuery) { 10755 jQuery(document).trigger('ready'); 10756 jQuery(window).trigger('load'); 10757 jQuery('body').trigger('post-load'); 10758 } 10759 } else { 10760 location.href = url; 10761 } 10762 }; 10763 10764 if (!dy.pageCache[url]) { 10765 dy.pageCache[url] = fetch(url).then(r => r.text()); 10766 } 10767
10768 dy.pageCache[url].then(html => { 10769 clearTimeout(loadingTimeout); 10770 renderHtml(html); 10771 }).catch(() => { 10772 clearTimeout(loadingTimeout); 10773 delete dy.pageCache[url]; 10774 location.href = url; 10775 }); 10776 }, 10777 10778 closeMenus: () => { 10779 if (document.activeElement) document.activeElement.blur(); 10780 // IMPORTANT : ne pas faire jQuery('body').trigger('click') ici car Avada 10781 // utilise cet événement pour fermer ses menus mobiles, ce qui empêcherait 10782 // l'ouverture du menu burger mobile d'Avada. 10783 const header = document.querySelector('.fusion-tb-header'); 10784 if (header) { 10785 header.querySelectorAll('li').forEach(li => li.classList.remove('hover', 'focus', 'sfHover', 'fusion-open-submenu')); 10786 header.querySelectorAll('.sub-menu').forEach(m => { 10787 m.style.setProperty('display', 'none', 'important'); 10788 m.style.setProperty('opacity', '0', 'important'); 10789 m.style.setProperty('visibility', 'hidden', 'important'); 10790 setTimeout(() => { 10791 m.style.removeProperty('display'); 10792 m.style.removeProperty('opacity'); 10793 m.style.removeProperty('visibility'); 10794 }, 500); 10795 }); 10796 } 10797 }, 10798 10799 scanLinks: () => { 10800 // Per-element scan is deprecated in favor of global AJAX interceptor for better performance 10801 }, 10802 10803 lastScrollState: null, 10804 handleScroll: () => { 10805 const bars = document.querySelectorAll('.dy-sticky-footer-pc'); 10806 if (bars.length === 0) return; 10807 10808 // Récupération dynamique du seuil (Défaut 5%) 10809 const threshold = 5; 10810 10811 const st = window.pageYOffset || document.documentElement.scrollTop; 10812 const dh = document.documentElement.scrollHeight; 10813 const wh = window.innerHeight; 10814 10815 // Calcul précis du pourcentage (évite division par zéro) 10816 // Si la page n'est pas scrollable (dh <= wh), on considère 0% de scroll 10817 const scrollPercent = (dh > wh) ? (st / (dh - wh)) * 100 : 0; 10818 10819 // Condition de visibilité : doit être >= au seuil 10820 const shouldBeVisible = (scrollPercent >= threshold); 10821 10822 // Mise à jour si changement d'état ou premier passage (lastScrollState === null) 10823 if (shouldBeVisible !== dy.lastScrollState) { 10824 bars.forEach(bar => { 10825 if (shouldBeVisible) { 10826 bar.classList.add('is-visible'); 10827 } else { 10828 bar.classList.remove('is-visible'); 10829 } 10830 }); 10831 dy.lastScrollState = shouldBeVisible; 10832 } 10833 } 10834 }; 10835 10836 window.addEventListener('scroll', dy.handleScroll, { 10837 passive: true 10838 }); 10839 window.addEventListener('load', dy.handleScroll); 10840 window.addEventListener('DOMContentLoaded', dy.handleScroll); 10841 10842 window.dyRadio = dy; 10843 window.toggleDevYvesRadio = dy.toggle; 10844 window.openPlayer = () => window.open(dy.currentLink, '_blank'); 10845 10846 if (!window.dyRadioEventsBound) { 10847 document.addEventListener('click', (e) => { 10848 if (window.dyRadio) { 10849 window.dyRadio.closeDropdowns(); 10850 if (!e.target.closest('.dy-volume-wrap')) { 10851 window.dyRadio.closeVolumePopups(); 10852 } 10853 10854 // Hash playback trigger (e.g. href="#dy-play-pop") 10855 const link = e.target.closest('a'); 10856 if (link && link.getAttribute('href') && link.getAttribute('href').startsWith('#dy-play-')) { 10857 e.preventDefault();
10858 const key = link.getAttribute('href').replace('#dy-play-', ''); 10859 window.dyRadio.playStationByKey(key); 10860 } 10861 10862 // Class playback trigger (e.g. class="dy-play-station" data-station="pop") 10863 const trigger = e.target.closest('.dy-play-station'); 10864 if (trigger && trigger.dataset.station) { 10865 if (e.target.tagName === 'A') e.preventDefault(); 10866 window.dyRadio.playStationByKey(trigger.dataset.station); 10867 } 10868 } 10869 }); 10870 10871 // --- PROTECTED PODCAST EVENTS (Bind Once) --- 10872 let isScrubbing = false; 10873 let currentScrubBg = null; 10874 10875 const scrub = (e, bg) => { 10876 const dy = window.dyRadio; 10877 if (!dy || !dy.audio) return; 10878 const rect = bg.getBoundingClientRect(); 10879 const x = (e.touches && e.touches[0]) ? e.touches[0].clientX : e.clientX; 10880 let pos = (x - rect.left) / rect.width; 10881 pos = Math.max(0, Math.min(1, pos)); 10882 if (dy.audio.duration && !isNaN(dy.audio.duration)) { 10883 dy.audio.currentTime = pos * dy.audio.duration; 10884 } 10885 }; 10886 10887 document.addEventListener('mousedown', e => { 10888 const bg = e.target.closest('.dy-podcast-progress-bg'); 10889 if (bg) { 10890 isScrubbing = true; 10891 currentScrubBg = bg; 10892 scrub(e, bg); 10893 } 10894 }); 10895 document.addEventListener('touchstart', e => { 10896 const bg = e.target.closest('.dy-podcast-progress-bg'); 10897 if (bg) { 10898 isScrubbing = true; 10899 currentScrubBg = bg; 10900 scrub(e, bg); 10901 } 10902 }, { 10903 passive: false 10904 }); 10905 document.addEventListener('mousemove', e => { 10906 if (isScrubbing && currentScrubBg) scrub(e, currentScrubBg); 10907 }); 10908 document.addEventListener('touchmove', e => { 10909 if (isScrubbing && currentScrubBg) { 10910 e.preventDefault(); 10911 scrub(e, currentScrubBg); 10912 } 10913 }, { 10914 passive: false 10915 }); 10916 document.addEventListener('mouseup', () => { 10917 isScrubbing = false; 10918 currentScrubBg = null; 10919 }); 10920 document.addEventListener('touchend', () => { 10921 isScrubbing = false; 10922 currentScrubBg = null; 10923 }); 10924 10925 window.dyRadioEventsBound = true; 10926 10927 } 10928 10929 dy.init(); 10930 })(); 10931 </script>
10931 10932
10932<script type="text/javascript"> 10933 (function($) { 10934 var ajaxTimer; 10935 10936 function purgerSliderSiVideoHaut() { 10937 // On cherche l'iframe YouTube dans les emplacements probables 10938 var $allVideos = $('.fusion-content-tb-1 .fusion-text-1 iframe[src*="youtube"], .video-shortcode iframe[src*="youtube"], .fusion-video-shortcode iframe[src*="youtube"], .post-content iframe[src*="youtube.com/embed"], article iframe[src*="youtube.com/embed"]'); 10939 10940 if ($allVideos.length > 0) { 10941 var $firstVideo = $allVideos.first(); 10942 var $contentArea = $firstVideo.closest('.post-content, .fusion-post-content, .fusion-content-tb-1'); 10943 10944 var isAtTop = false; 10945 if ($contentArea.length > 0) { 10946 // 1. Calcul de la distance relative au début du contenu 10947 var distance = $firstVideo.offset().top - $contentArea.offset().top; 10948 10949 // 2. Vérification s'il y a du texte significatif avant la vidéo dans le même conteneur 10950 var hasPrecedingContent = $firstVideo.prevAll('p, h1, h2, h3, .fusion-text').filter(function() { 10951 return $(this).text().trim().length > 0; 10952 }).length > 0; 10953 10954 // On considère en haut si < 120px et pas de texte avant 10955 isAtTop = (distance < 120) && !hasPrecedingContent; 10956 } 10957 10958 if (isAtTop) { 10959 $('body').addClass('devyves-video-active'); 10960 console.log("devYves Fix: Vidéo de tête détectée. Slider masqué."); 10961 } else { 10962 $('body').removeClass('devyves-video-active'); 10963 } 10964 } else { 10965 $('body').removeClass('devyves-video-active'); 10966 } 10967 } 10968 10969 function lancerSurveillance() { 10970 purgerSliderSiVideoHaut(); 10971 var compteur = 0; 10972 if (ajaxTimer) clearInterval(ajaxTimer); 10973 ajaxTimer = setInterval(function() { 10974 purgerSliderSiVideoHaut(); 10975 compteur++; 10976 if (compteur > 25) clearInterval(ajaxTimer); 10977 }, 200); 10978 } 10979 10980 // Initialisation 10981 $(document).ready(lancerSurveillance); 10982 $(window).on('load', lancerSurveillance); 10983 10984 // Surveillance des changements du DOM (Navigation AJAX) 10985 var observer = new MutationObserver(function(mutations) { 10986 // Petit throttle pour éviter trop d'appels sur des mutations massives 10987 clearTimeout(window.devyvesObserverTimeout); 10988 window.devyvesObserverTimeout = setTimeout(lancerSurveillance, 100); 10989 }); 10990 10991 var target = document.querySelector('#main') || document.body; 10992 if (target) { 10993 observer.observe(target, { childList: true, subtree: true }); 10994 } 10995 10996 // Hooks additionnels 10997 $(document).on('ajaxComplete', lancerSurveillance); 10998 $(window).on('popstate', lancerSurveillance); 10999 11000 if (window.FusionApp && typeof FusionApp.watcher !== 'undefined') { 11001 FusionApp.watcher.on('fusion-content-changed', lancerSurveillance); 11002 } 11003 11004 })(jQuery); 11005 </script>
11005 11006 </div> 11007 11008 </body> 11009</html> 11010 11011<!-- Dynamic page generated in 0.982 seconds. --> 11012<!-- Cached page generated by WP-Super-Cache on 2026-09-24 16:44:31 --> 11013 11014<!-- Compression = gzip -->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.