PageSourceSearch

https://www.croonerradio.fr/

html croonerradio.fr collected 2026-09-24 17:44:49 UTC 882,892 bytes, 11,014 lines download raw bytes

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 &raquo; 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 &amp; 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 &amp; 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&amp;action=load&amp;blogid=1&amp;siteid=1&amp;t=684061544&amp;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&#039;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&#038;host=ca-host-pub-2644536267352236"></script>
3735
3736
3737<!-- Terminer l&#039;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&#039;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:&quot;Inter&quot;;--awb-fusion-font-style-typography:normal;--awb-fusion-font-weight-typography:500;--awb-fusion-font-family-submenu-typography:&quot;Inter&quot;;--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:&quot;Inter&quot;;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:&quot;Inter&quot;;--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&#039;une veste noire en velours, le regard posé vers l&#039;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&#039;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&rsquo;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&rsquo;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:&quot;Inter&quot;;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:&quot;Inter&quot;;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:&quot;Inter&quot;;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:&quot;Inter&quot;;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:&quot;Inter&quot;;--awb-fusion-font-style-typography:normal;--awb-fusion-font-weight-typography:400;--awb-fusion-font-family-submenu-typography:&quot;Inter&quot;;--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:&quot;Inter&quot;;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:&quot;Inter&quot;;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:&quot;Inter&quot;;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&#039;une veste noire en velours, le regard posé vers l&#039;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&#039;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:&quot;Inter&quot;;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="&#xf002;" />
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:&quot;Inter&quot;;--awb-fusion-font-style-typography:normal;--awb-fusion-font-weight-typography:700;--awb-fusion-font-family-submenu-typography:&quot;Inter&quot;;--awb-fusion-font-style-submenu-typography:normal;--awb-fusion-font-weight-submenu-typography:700;--awb-fusion-font-family-mobile-typography:&quot;Inter&quot;;--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='[&quot;Crooner Radio&quot;,&quot;VIRGULE&quot;,&quot;Crooner Radio&quot;]'>
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:&quot;Inter&quot;;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&#039;une veste noire en velours, le regard posé vers l&#039;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&#039;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(&quot;https://www.croonerradio.fr/wp-content/uploads/2025/03/Waves-Lines-Audio-Application-Apple-Android-Black-Pro-scaled.webp&quot;);--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:&quot;Inter&quot;;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:&quot;Inter&quot;;font-style:normal;font-weight:300;margin:0;font-size:1em;line-height:1.1;"><p>Partout avec vous<br />
6223sur votre smartphone &amp; 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:&quot;Inter&quot;;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:&quot;Inter&quot;;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:&quot;Inter&quot;;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&#039;une veste noire en velours, le regard posé vers l&#039;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&#039;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:&quot;Inter&quot;;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:&quot;Inter&quot;;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='[{&quot;title&quot;:&quot;Liane Foly : Une artiste sinc\u00e8re amour, et en amiti\u00e9&quot;,&quot;date&quot;:&quot;2026-09-24&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/B6rdnSPZvA6z.mp3?t=1790086536&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389&quot;,&quot;author&quot;:&quot;Crooner and Friends&quot;,&quot;pub_time&quot;:1790230500,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/&quot;},{&quot;title&quot;:&quot;Pif Gadget : le grand retour du magazine culte de notre enfance&quot;,&quot;date&quot;:&quot;2026-09-23&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/oZR9sm3VY80o.mp3?t=1790182585&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412&quot;,&quot;author&quot;:&quot;La Minute Crooner Attitude&quot;,&quot;pub_time&quot;:1790147700,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/&quot;},{&quot;title&quot;:&quot;Liane Foly : Le cin\u00e9ma, des projets secrets, le showbiz et une chanson surprise&quot;,&quot;date&quot;:&quot;2026-09-23&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/b3PNRtG3OZ56.mp3?t=1790071941&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389&quot;,&quot;author&quot;:&quot;Crooner and Friends&quot;,&quot;pub_time&quot;:1790144100,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/&quot;},{&quot;title&quot;:&quot;Warnamount : Des Fausses promesses pour un jackpot...&quot;,&quot;date&quot;:&quot;2026-09-23&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/B10nQFEKqje2.mp3?t=1790157409&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/AfiFD6i75Bftw5BI1PefoaoQ0M3flhU7rlZhTGWi_1400x1400.jpeg?t=1707314431&quot;,&quot;author&quot;:&quot;Media Inside&quot;,&quot;pub_time&quot;:1790142300,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/media-inside-actualite-des-medias\/&quot;},{&quot;title&quot;:&quot;Liane Foly : Peut-on sauver la chanson fran\u00e7aise ? Transmission, souvenirs et grands standards&quot;,&quot;date&quot;:&quot;2026-09-22&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/ygdRMHD3gzjr.mp3?t=1790069214&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389&quot;,&quot;author&quot;:&quot;Crooner and Friends&quot;,&quot;pub_time&quot;:1790057700,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/&quot;},{&quot;title&quot;:&quot;Liane Foly confie ses souvenirs dans \u00ab La Droguerie du sourire \u00bb sur Crooner Radio&quot;,&quot;date&quot;:&quot;2026-09-21&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/oKwO3H8D4VWl.mp3?t=1790069719&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389&quot;,&quot;author&quot;:&quot;Crooner and Friends&quot;,&quot;pub_time&quot;:1789971300,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/&quot;},{&quot;title&quot;:&quot;Comment La La Land et TikTok ont sauv\u00e9 le Caveau de la Huchette pour un renouveau du swing !&quot;,&quot;date&quot;:&quot;2026-09-20&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/ypZ8fgx2l31B.mp3?t=1790159096&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412&quot;,&quot;author&quot;:&quot;La Minute Crooner Attitude&quot;,&quot;pub_time&quot;:1789888500,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/&quot;},{&quot;title&quot;:&quot;Philippe Katerine : Ses plaisirs inavouables du dimanche&quot;,&quot;date&quot;:&quot;2026-09-18&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/ykkzRsVYqPDL.mp3?t=1789739748&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389&quot;,&quot;author&quot;:&quot;Crooner and Friends&quot;,&quot;pub_time&quot;:1789712100,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/&quot;},{&quot;title&quot;:&quot;Philippe Katerine : Une famille d&#039;artiste et un d\u00e9sir de vivre dans les ann\u00e9es folles&quot;,&quot;date&quot;:&quot;2026-09-17&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/omXzjs0Od904.mp3?t=1651590669&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389&quot;,&quot;author&quot;:&quot;Crooner and Friends&quot;,&quot;pub_time&quot;:1789625700,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/&quot;},{&quot;title&quot;:&quot;La Publicit\u00e9 TV en France \u00e0 l&#039;agonie ?&quot;,&quot;date&quot;:&quot;2026-09-16&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/b7zweCVaVR3K.mp3?t=1789561910&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/AfiFD6i75Bftw5BI1PefoaoQ0M3flhU7rlZhTGWi_1400x1400.jpeg?t=1707314431&quot;,&quot;author&quot;:&quot;Media Inside&quot;,&quot;pub_time&quot;:1789561949,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/media-inside-actualite-des-medias\/&quot;},{&quot;title&quot;:&quot;Liane Foly se raconte dans \&quot;La Droguerie Du Sourire\&quot;&quot;,&quot;date&quot;:&quot;2026-09-16&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/od0ptKplxQ4o.mp3?t=1790157997&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412&quot;,&quot;author&quot;:&quot;La Minute Crooner Attitude&quot;,&quot;pub_time&quot;:1789542900,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/&quot;},{&quot;title&quot;:&quot;Philippe Katerine sur Crooner Radio : coulisses, cr\u00e9ation et souvenirs de famille&quot;,&quot;date&quot;:&quot;2026-09-16&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/bjeZXIXq1ZPk.mp3?t=1789635402&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389&quot;,&quot;author&quot;:&quot;Crooner and Friends&quot;,&quot;pub_time&quot;:1789539300,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/&quot;},{&quot;title&quot;:&quot;Roberto Colletta nous donne sa vision du romantisme dans le le single \u00ab Reste un peu \u00bb&quot;,&quot;date&quot;:&quot;2026-09-15&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/BnZwfLg7PYWB.mp3?t=1789470167&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412&quot;,&quot;author&quot;:&quot;La Minute Crooner Attitude&quot;,&quot;pub_time&quot;:1789470765,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/&quot;},{&quot;title&quot;:&quot;Philippe Katerine : Qui est Philippe Katerine ?&quot;,&quot;date&quot;:&quot;2026-09-15&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/b5rxjSkGkPw0.mp3?t=1789465434&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389&quot;,&quot;author&quot;:&quot;Crooner and Friends&quot;,&quot;pub_time&quot;:1789452900,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/&quot;},{&quot;title&quot;:&quot;Les Mashup de Crooner Radio&quot;,&quot;date&quot;:&quot;2026-09-14&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/yggLiqXWX3Ey.mp3?t=1789467660&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412&quot;,&quot;author&quot;:&quot;La Minute Crooner Attitude&quot;,&quot;pub_time&quot;:1789370100,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/&quot;},{&quot;title&quot;:&quot;Philippe Katerine : Est-il un acteur, chanteur engag\u00e9 ?&quot;,&quot;date&quot;:&quot;2026-09-14&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/yvpvdHdjxa53.mp3?t=1789465259&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/deRtdsgpf4Ll09gB7yNOZI7iQp2611JMvmImD29u_1400x1400.jpeg?t=1707314389&quot;,&quot;author&quot;:&quot;Crooner and Friends&quot;,&quot;pub_time&quot;:1789366500,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/crooner-and-friends\/&quot;},{&quot;title&quot;:&quot;Larrat en concert \u00e0 La Sc\u00e8ne Parisienne : d\u00e9couvrez l&#039;album d&#039;un crooner r\u00e9invent\u00e9&quot;,&quot;date&quot;:&quot;2026-09-11&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/Bqx8hd5xlqKb.mp3?t=1789035803&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412&quot;,&quot;author&quot;:&quot;La Minute Crooner Attitude&quot;,&quot;pub_time&quot;:1789110900,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/&quot;},{&quot;title&quot;:&quot;Stevie Wonder en concert \u00e0 l&#039;Accor Arena de Paris : le retour d&#039;une l\u00e9gende soul et pop&quot;,&quot;date&quot;:&quot;2026-09-10&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/BNepUA50YQrb.mp3?t=1789035744&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412&quot;,&quot;author&quot;:&quot;La Minute Crooner Attitude&quot;,&quot;pub_time&quot;:1789050819,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/&quot;},{&quot;title&quot;:&quot;Salon Paris Passion A\u00e9ro : vivez l&#039;aviation \u00e0 Toussus-le-Noble avec l&#039;A\u00e9ro Touring Club&quot;,&quot;date&quot;:&quot;2026-09-09&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/yvV8uqxMdJry.mp3?t=1789035763&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/YgRnVqmd6e7bAg5259TeD95k6uP1J1NO3PRgYn5i_1400x1400.jpeg?t=1707314412&quot;,&quot;author&quot;:&quot;La Minute Crooner Attitude&quot;,&quot;pub_time&quot;:1788938100,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/la-minute-crooner-attitude\/&quot;},{&quot;title&quot;:&quot;Les 10 infos Media Inside Hors Cadre de L&#039;\u00e9t\u00e9 2026&quot;,&quot;date&quot;:&quot;2026-09-09&quot;,&quot;url&quot;:&quot;https:\/\/audio.ausha.co\/b5rNgImGLmzP.mp3?t=1788948862&quot;,&quot;image&quot;:&quot;https:\/\/image.ausha.co\/AfiFD6i75Bftw5BI1PefoaoQ0M3flhU7rlZhTGWi_1400x1400.jpeg?t=1707314431&quot;,&quot;author&quot;:&quot;Media Inside&quot;,&quot;pub_time&quot;:1788932700,&quot;liaison_url&quot;:&quot;https:\/\/www.croonerradio.fr\/podcasts\/media-inside-actualite-des-medias\/&quot;}]'
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&#039;é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(&quot;https://www.croonerradio.fr/wp-content/uploads/2025/02/25-02-06-IMG-CROONER-RADIO-COVERS-PARALAXv12.webp&quot;);--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&rsquo;é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&rsquo;exception qui célèbre l&rsquo;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:&quot;Inter&quot;;--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 &#8230;</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:&quot;Inter&quot;;font-style:normal;font-weight:500;margin:0;font-size:1em;line-height:1.1;">L&rsquo;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:&quot;Inter&quot;;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:&quot;Inter&quot;;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 &quot;Se connecter avec Google&quot; 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="{&quot;clientID&quot;:&quot;627160137294-bmva10un1rp5nnm4m01k9imm4p06s4sq.apps.googleusercontent.com&quot;,&quot;defaultButtonOptions&quot;:{&quot;theme&quot;:&quot;outline&quot;,&quot;text&quot;:&quot;signin_with&quot;,&quot;shape&quot;:&quot;rectangular&quot;},&quot;loginURI&quot;:&quot;https:\/\/www.croonerradio.fr\/wp-login.php?action=googlesitekit_auth&quot;,&quot;isUserLoggedIn&quot;:false,&quot;isWPLogin&quot;:false,&quot;isPreview&quot;:false,&quot;isWooCommerce&quot;:false,&quot;isExistingUserFlow&quot;:false,&quot;connectNonce&quot;:&quot;&quot;,&quot;followsPostRedirect&quot;:false,&quot;redirectTo&quot;:&quot;&quot;,&quot;redirectCookieName&quot;:&quot;googlesitekit_auth_redirect_to&quot;,&quot;redirectCookiePath&quot;:&quot;\/&quot;,&quot;redirectCookieTTL&quot;:0,&quot;nonceCookieName&quot;:&quot;googlesitekit_auth_nonce&quot;,&quot;nonceCookiePath&quot;:&quot;\/&quot;,&quot;nonceCookieTTL&quot;:900,&quot;shouldShowOneTapPrompt&quot;: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: &#039;Inter&#039;, 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(/&amp;/g, '&');
10218                                let coverNormal = (cur.cover || '').replace(/&amp;/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.