

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tous les podcasts des émissions Europe 1 à écouter ou télécharger - RadioStreamR - Ecoutez la Radio française en ligne en direct</title>
	<atom:link href="https://radiostreamr.com/radio-france/category/podcast/europe-1/feed/" rel="self" type="application/rss+xml" />
	<link>https://radiostreamr.com/radio-france/category/podcast/europe-1/</link>
	<description>Écoutez les meilleures stations de radio françaises en direct. Musique, actualités, et émissions locales - disponibles partout, à tout moment.</description>
	<lastBuildDate>Wed, 20 Nov 2024 11:04:18 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.3</generator>

<image>
	<url>https://radiostreamr.com/radio-france/wp-content/uploads/2024/10/cropped-logo-19-32x32.webp</url>
	<title>Tous les podcasts des émissions Europe 1 à écouter ou télécharger - RadioStreamR - Ecoutez la Radio française en ligne en direct</title>
	<link>https://radiostreamr.com/radio-france/category/podcast/europe-1/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>🗣️ Podcast et Replay &#8211; C&#8217;est arrivé demain de Frédéric Taddei &#8211; Europe 1</title>
		<link>https://radiostreamr.com/radio-france/podcast-cest-arrive-demain/</link>
					<comments>https://radiostreamr.com/radio-france/podcast-cest-arrive-demain/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 12 Nov 2024 12:04:07 +0000</pubDate>
				<category><![CDATA[Europe 1]]></category>
		<category><![CDATA[Podcast]]></category>
		<guid isPermaLink="false">https://radiostreamr.com/radio-france/?p=1106</guid>

					<description><![CDATA[<p>C&#8217;est arrivé demain / C&#8217;est arrivé cette semaine animé par Fréderic Taddei &#8211; Écoutez tous les podcasts Europe 1 en rediffusion Plus récentsPlus anciens Publicité « C&#8217;est arrivé demain » / « C&#8217;est arrivé cette semaine » avec Frédéric Taddei &#8211; L&#8217;histoire décryptée sur Europe 1 Voir leur Facebook Voir leur Instagram Voir leur site web Chaque semaine dans [&#8230;]</p>
<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-cest-arrive-demain/">🗣️ Podcast et Replay &#8211; C&rsquo;est arrivé demain de Frédéric Taddei &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="1106" class="elementor elementor-1106" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-dce457e e-con-full e-flex e-con e-parent" data-id="dce457e" data-element_type="container">
				<div class="elementor-element elementor-element-9f9be1c 1995 elementor-widget elementor-widget-html" data-id="9f9be1c" data-element_type="widget" id="1995" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<!DOCTYPE html><html><head><meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&amp;display=swap" rel="stylesheet">
<style>
    .rtl-podcast-player * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Roboto', sans-serif;
    }

  .rtl-podcast-player #pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
}

@keyframes gradientBG {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.rtl-podcast-player body {
    background: linear-gradient(-45deg, #0a192f, #172a45, #1a365d, #102235);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    min-height: 100vh;
    display: flex;
    align-items: center;
    color: #fff;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

    .rtl-podcast-player .container {
        display: grid;
        grid-template-columns: 1.2fr 2.8fr;
        gap: 20px;
        margin: 0 auto;
        padding: 50px 150px !important;
        width: 100%;
        background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
        background-size: 400% 400%;
        animation: gradientBG 15s ease infinite;
        border-radius: 0;
        box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);
    }


    @media (max-width: 1024px) {
        .rtl-podcast-player .container {
            padding: 30px 45px;
            grid-template-columns: 1fr 2fr;
        }
        
        .rtl-podcast-player h1 {
            font-size: 2em;
        }
    }


    @media (max-width: 768px) {
        .rtl-podcast-player .container {
            padding: 20px !important; /* Override padding */
            margin: 0 !important; /* Reset margin */
            width: 100% !important;
            max-width: 100% !important;
            grid-template-columns: 1fr;
            overflow-x: hidden; /* Prevent horizontal scroll */
        }
        
        .rtl-podcast-player #episode-grid,
        .rtl-podcast-player .episode,
        .rtl-podcast-player #featured-episode,
        .rtl-podcast-player .host-biography,
        .rtl-podcast-player .social-share-buttons {
            width: 100% !important;
            margin-left: auto !important;
            margin-right: auto !important;
            padding: 15px !important;
        }
        
        .rtl-podcast-player h1,
        .rtl-podcast-player h2,
        .rtl-podcast-player p {
            padding-left: 10px !important;
            padding-right: 10px !important;
            text-align: center;
        }

        .rtl-podcast-player #episode-grid {
            grid-template-columns: 1fr !important; /* Force single column */
            gap: 20px;
        }
        
        .rtl-podcast-player .episode {
            width: 100% !important;
            margin: 0 auto !important;
        }
    }


@media (max-width: 480px) {
    .rtl-podcast-player .container {
        padding: 10px !important;
    }
    
    .rtl-podcast-player #featured-episode,
    .rtl-podcast-player .episode {
        padding: 15px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }
}

.rtl-podcast-player h1 {
    color: #00ffff;
    text-align: center;
    font-size: 2.3em;
    margin-bottom: 40px;
    font-weight: 700;
    width: 100%;
    grid-column: 1 / -1;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.3);
}

  #fixed-player-bar {
        display: flex;               /* Assure l'affichage en flex */
        flex-direction: column;       /* Organisation en colonne */
        align-items: center;          /* Centre les éléments */
        padding: 10px;
        gap: 10px;                    /* Espace entre chaque ligne */
        background: rgba(26, 26, 26, 0.95); /* Conserve l’arrière-plan */
        display: none;                /* Masqué par défaut */
    }

    /* Ligne 1 : Titre de l'épisode */
    #fixed-player-title {
        display: block;               /* Force l'affichage sur une ligne complète */
        text-align: center;
        font-size: 1.2em;
        color: #00ffff;
        width: 100%;                  /* Prend la largeur complète */
    }

    /* Ligne 2 : Player audio */
    #fixed-player-audio {
        display: block;               /* Force l'affichage sur une ligne complète */
        width: 100%;
    }

    /* Ligne 3 : Conteneur pour les boutons Chromecast et fermeture */
    .audio-controls-container {
        display: flex;
        justify-content: center;
        gap: 20px;
        width: 100%;                  /* Assure une disposition sur toute la largeur */
    }

    /* Styles des boutons */
    #chromecast-button, #close-fixed-player {
        width: 40px;
        height: 40px;
        border: none;
        cursor: pointer;
    }
}

  @media (max-width: 768px) {
    .rtl-podcast-player h1 {
        margin-top: 0px !important; /* Ajustez la valeur selon vos besoins */
    }
}
  
.rtl-podcast-player #featured-episode {
    /* Remplacer ces styles */
    display: flex;
    flex-direction: column;
    height: 100%; /* Ajout de cette ligne */
    padding: 30px;
    border-radius: 15px;
    background-color: transparent;
    color: #ffffff;
    transition: all 0.3s ease;
}

.rtl-podcast-player #featured-episode:hover {
    transform: translateY(-5px);
}

.rtl-podcast-player #featured-episode h3 {
    color: #00ffff;
    margin-bottom: 15px;
    font-weight: 500;
}

.rtl-podcast-player #featured-episode button, .rtl-podcast-player .episode button {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    padding: 0;
    background-image: url('https://static.vecteezy.com/system/resources/thumbnails/017/196/540/small/3d-play-button-icon-transparent-background-free-png.png');
    background-size: 35px;
    background-position: center;
    background-repeat: no-repeat;
    font-size: 0;
    position: relative;
}

    .rtl-podcast-player .date-badge {
        background: rgba(0, 255, 255, 0.1);
        border: 2px solid #00ffff;
        border-radius: 8px;
        padding: 8px 15px;
        color: #00ffff;
        font-weight: bold;
        text-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
        box-shadow: 
            0 0 5px rgba(0, 255, 255, 0.2),
            0 0 10px rgba(0, 255, 255, 0.2),
            0 0 15px rgba(0, 255, 255, 0.2),
            0 0 20px rgba(0, 255, 255, 0.2);
        animation: neonPulse 1.5s ease-in-out infinite;
        margin: 15px auto 20px auto; /* Increased bottom margin */
        display: block; /* Changed from inline-block to block */
        width: fit-content;
    }

    @keyframes neonPulse {
        0%, 100% {
            box-shadow: 
                0 0 5px rgba(0, 255, 255, 0.2),
                0 0 10px rgba(0, 255, 255, 0.2),
                0 0 15px rgba(0, 255, 255, 0.2),
                0 0 20px rgba(0, 255, 255, 0.2);
        }
        50% {
            box-shadow: 
                0 0 10px rgba(0, 255, 255, 0.4),
                0 0 20px rgba(0, 255, 255, 0.4),
                0 0 30px rgba(0, 255, 255, 0.4),
                0 0 40px rgba(0, 255, 255, 0.4);
        }
    }


.rtl-podcast-player #featured-episode img,
.rtl-podcast-player .episode img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .modal-content img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .episode button:hover::after,
.rtl-podcast-player #featured-episode button:hover::after {
    content: "Ecouter ce podcast";
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap;
    z-index: 1000;
}

.rtl-podcast-player #featured-episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #episode-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

    .rtl-podcast-player .episode {
        padding: 20px;
        border-radius: 15px;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.1);
        text-align: center;
        background-color: #1a1a1a;
        transition: all 0.3s ease;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .rtl-podcast-player .episode p {
        color: #ffffff;
    }


.rtl-podcast-player .episode:hover {
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);
    transform: translateY(-3px);
}

.rtl-podcast-player .episode h5 {
    margin-bottom: 10px;
    color: #00ffff;
}

.rtl-podcast-player .episode a {
    color: #00ffff;
    text-decoration: none;
}

    .rtl-podcast-player .episode button:hover {
        background-color: #00cccc;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }
    
    .search-filter-container {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        margin-bottom: 30px;
        width: 100%;
    }

    .search-filter-container input,
    .search-filter-container select {
        padding: 10px 15px;
        border: 2px solid #00ffff;
        border-radius: 8px;
        background: rgba(0, 0, 0, 0.3);
        color: #fff;
        font-size: 16px;
        width: 200px;
    }

    .search-filter-container input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }

    .search-filter-container input:focus,
    .search-filter-container select:focus {
        outline: none;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
    }

    .search-filter-container select {
        cursor: pointer;
    }

    .search-filter-container select option {
        background-color: #1a1a1a;
        color: #fff;
    }

    @media (max-width: 768px) {
        .search-filter-container {
            flex-direction: column;
            gap: 10px;
        }

        .search-filter-container input,
        .search-filter-container select {
            width: 100%;
            max-width: 300px;
        }
    }

    color: #000;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-top: 10px; /* Add space above button */
    display: block; /* Ensure block-level display */
    margin-left: auto;
    margin-right: auto;
}

.rtl-podcast-player .episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player .pagination {
    text-align: center !important;
    margin-top: 30px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
}

  .rtl-podcast-player #page-numbers {
    display: flex !important;
    gap: 5px !important;
    margin: 0 5px !important;
}
  
.rtl-podcast-player .pagination button,
.rtl-podcast-player .pagination #prev-btn,
.rtl-podcast-player .pagination #next-btn {
    margin: 0 !important;  /* Changé de 5px à 0 */
    padding: 8px 16px;
    font-size: 1em;
    background-color: #1a1a1a;
    color: #00ffff;
    border: 1px solid #00ffff;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rtl-podcast-player .pagination button:hover {
    background-color: #00ffff;
    color: #000;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
}

.rtl-podcast-player .modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
}

.rtl-podcast-player .modal-content {
    background-color: #1a1a1a;
    padding: 40px;
    border: 2px solid #00ffff;
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: auto;
    color: white;
}

.rtl-podcast-player .close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: #00ffff;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
}

.rtl-podcast-player .close:hover {
    color: #00cccc;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #chromecast-button {
    background-color: #00ffff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    color: #000;
    margin-top: 20px;
    font-weight: bold;
    display: inline-block;
}

.rtl-podcast-player audio::-webkit-media-controls-panel {
    background-color: #2a2a2a;
}

.rtl-podcast-player audio::-webkit-media-controls-current-time-display,
.rtl-podcast-player audio::-webkit-media-controls-time-remaining-display {
    color: #000000;
}

.rtl-podcast-player #fixed-player-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(26, 26, 26, 0.95);
    backdrop-filter: blur(10px);
    padding: 10px 20px;
    z-index: 999;
    border-top: 2px solid #00ffff;
}

.rtl-podcast-player .fixed-player-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    gap: 20px;
}


.rtl-podcast-player #fixed-player-title {
    color: #00ffff;
    font-size: 1em;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.rtl-podcast-player #fixed-player-audio {
    flex: 2;
    max-width: 500px;
}

.episode-card {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(0, 255, 255, 0.3);
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.episode-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 255, 255, 0.2);
}

.episode-card img {
    width: 100%;
    max-width: 200px;
    border-radius: 10px;
    margin: 10px 0;
}

.episode-card button {
    margin-top: 10px;
}
  
/* Conserve les styles des boutons play et mute */
audio::-webkit-media-controls-play-button,
audio::-webkit-media-controls-mute-button {
    background-color: #40E0D0 !important; /* Bleu turquoise */
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
}

audio::-webkit-media-controls-play-button:hover,
audio::-webkit-media-controls-mute-button:hover {
    background-color: #5FECEC !important; /* Bleu turquoise plus clair au survol */
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5) !important;
}

/* Tentative pour changer la couleur du trait de progression */
audio::-webkit-media-controls-timeline {
    color: #a6a6a6 !important; /* Essaye de cibler le trait turquoise */
}

/* Modifie la couleur des trois petits points */
audio::-webkit-media-controls-panel {
    background-color: transparent !important; /* Assure que le fond ne prend pas de couleur */
    color: #40E0D0 !important; /* Forcer la couleur turquoise pour les trois points */
}

/* Tentative supplémentaire pour cibler le trait du curseur de progression */
audio::-webkit-slider-runnable-track {
    background-color: #40E0D0 !important; /* Bleu turquoise pour la piste */
}

audio::-webkit-slider-thumb {
    background-color: #a6a6a6 !important; /* Plus clair pour le curseur lui-même */
}


@media (max-width: 768px) {
    .rtl-podcast-player .fixed-player-content {
        flex-direction: column;
        gap: 10px;
        padding: 15px;
    }

    .rtl-podcast-player #fixed-player-audio {
        width: 100%;
        max-width: 100%;
    }

    .rtl-podcast-player #fixed-player-title {
        width: 100%;
        text-align: center;
        font-size: 0.9em;
    }
}

.rtl-podcast-player .social-button {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease-in-out;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.rtl-podcast-player .social-button:hover {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .rtl-podcast-player .social-share-buttons {
        gap: 10px;
    }
    
    .rtl-podcast-player .social-button {
        width: 40px;
        height: 40px;
    }
    
    .rtl-podcast-player .social-button svg {
        width: 20px;
        height: 20px;
    }
}

.navigation-buttons {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    pointer-events: none;
    z-index: 1000;
}

.nav-button {
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid #00ffff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    pointer-events: auto;
}  

.nav-button:hover {
    background: rgba(0, 255, 255, 0.2);
    transform: scale(1.1);
}

.nav-button svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 768px) {
    .nav-button {
        width: 35px;
        height: 35px;
    }
    
    .nav-button svg {
        width: 20px;
        height: 20px;
    }
}
</style>
<script type="text/javascript" src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js"></script>

</head><body>
<div class="rtl-podcast-player">
    <div class="container" style="background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    border-radius: 0; /* Changed from 20px to 0 */
    box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);">
    <h1 style="color: #00ffff; text-align: center; font-size: 2.1em; margin-bottom: 40px; font-weight: 700; width: 100%; grid-column: 1 / -1; text-shadow: 0 0 10px rgba(0, 255, 255, 0.3); padding: 0 15px; display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap;">
C'est arrivé demain / C'est arrivé cette semaine animé par Fréderic Taddei -  Écoutez tous les podcasts Europe 1 en rediffusion
<img decoding="async" src="https://cdn-europe1.lanmedia.fr/var/europe1/storage/images/europe1/animateurs/europe-12/53472641-3-fre-FR/Europe-1.png" alt="Logo Europe 1" style="width: 60px; height: 60px; border-radius: 50%; padding: 5px; background: white; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);">
</h1>
    <div class="social-share-buttons" style="display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 30px; width: 100%; grid-column: 1 / -1;">
    <button onclick="shareOnX()" class="social-button" style="background-color: #000;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path>
        </svg>
    </button>
    <button onclick="shareOnWhatsapp()" class="social-button" style="background-color: #25D366;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"></path>
        </svg>
    </button>
    <button onclick="shareOnFacebook()" class="social-button" style="background-color: #1877F2;">  
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path>
        </svg>
    </button>
    <button onclick="shareOnLinkedIn()" class="social-button" style="background-color: #0A66C2;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path>
        </svg>
    </button>
</div>
      
    <div id="featured-episode" style="display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: space-between; gap: 20px; height: 100%; position: relative; padding-top: 20px; cursor: pointer;">
  <div class="features-episode" style="width: 100%; height: 100%;">
    <!-- Première carte (dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
            
    <!-- Deuxième carte (avant-dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
  </div>
</div>
    <div>
    <div class="search-filter-container">
        <input type="text" id="podcast-search" placeholder="Rechercher un podcast..." oninput="filterAndDisplayEpisodes()">
        <select id="podcast-filter" onchange="filterAndDisplayEpisodes()">
            <option value="newest">Plus récents</option>
            <option value="oldest">Plus anciens</option>
        </select>
    </div>
    <div id="episode-grid">
        <style>
            .episode {
                cursor: pointer;
            }
            
            .episode > * {
                pointer-events: none;
            }
            
            .episode button {
                pointer-events: auto;
            }
        </style>
    </div>
    <div class="pagination" id="pagination">
    <button id="prev-btn" onclick="changePage('prev')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M15 18l-6-6 6-6"></path>
        </svg>
    </button>
    <span id="page-numbers"></span>
    <button id="next-btn" onclick="changePage('next')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M9 18l6-6-6-6"></path>
        </svg>
    </button>
</div>

      <div class="ad-banner" style="width: 100%; max-width: 508px; margin: 20px auto; text-align: center; grid-column: 1 / -1; background: rgba(0,0,0,0.3); padding: 15px; border-radius: 10px; border: 1px solid rgba(0, 255, 255, 0.2); transition: transform 0.3s ease;">
    <p style="color: #666; font-size: 12px; margin-bottom: 10px;">Publicité</p>
    <a href="https://universal-academy.com/recruter-des-alternants-dans-le-tourisme/" target="_blank" style="display: inline-block;">
        <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/Design-sans-titre-2024-11-06T134332.299.webp" alt="Bannière publicitaire RTL" style="width: 100%; max-width: 700px; height: auto; border-radius: 8px; transition: transform 0.3s ease;" onmouseover="this.style.transform='scale(1.02)'" onmouseout="this.style.transform='scale(1)'">
    </a>
</div>

    <script>
        // Ajouter un event listener pour les cartes d'épisodes
        document.getElementById('episode-grid').addEventListener('click', (e) => {
            const episodeCard = e.target.closest('.episode');
            if (episodeCard) {
                // Trouver le bouton dans la carte et simuler un clic dessus
                const button = episodeCard.querySelector('button');
                if (button) {
                    button.click();
                }
            }
        });
    </script>
</div>
    
    <div class="host-biography" style="grid-column: 1 / -1; background: rgba(0, 0, 0, 0.3); padding: 30px; border-radius: 15px; margin-top: 30px; border: 1px solid rgba(0, 255, 255, 0.2);">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
        <!-- Media query pour passer en une colonne sur mobile -->
        <style>
            @media (max-width: 768px) {
                .host-biography > div {
                    grid-template-columns: 1fr !important;
                }
            }
        </style>

      <div class="host-biography" style="grid-column: 1 / -1; padding: 30px; border-radius: 15px; margin-top: 30px;">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
      <div style="grid-column: 1 / -1; margin-bottom: 30px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">"C'est arrivé demain" / "C'est arrivé cette semaine" avec Frédéric Taddei - L'histoire décryptée sur Europe 1</h2>

    <!-- Nouveaux boutons de réseaux sociaux -->
    <div style="display: flex; justify-content: center; align-items: center; gap: 20px; margin: 20px 0;">
        <a href="https://www.facebook.com/Europe1/?locale=fr_FR" target="_blank" style="position: relative; width: 50px; height: 50px; background: #1877F2; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Facebook</span>
</a>

        <a href="https://www.instagram.com/europe1/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #E4405F; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Instagram</span>
</a>

        <a href="https://www.europe1.fr/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #00ffff; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#000000">
        <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur site web</span>
</a>
    </div>

    <style>
        /* Hover effects pour les boutons */
        .host-biography a:hover {
            transform: scale(1.1);
            box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
        }
        
        .host-biography a:hover span {
            opacity: 1;
        }

        /* Media queries pour le responsive */
        @media (max-width: 768px) {
            .host-biography div[style*="display: flex"] {
                flex-wrap: wrap;
                justify-content: center;
                gap: 15px;
            }
        }
    </style>

    <p style="color: #ffffff; line-height: 1.6; text-align: center; max-width: 1200px; margin: 0 auto;">
    Chaque semaine dans "C'est arrivé demain" et "C'est arrivé cette semaine", Frédéric Taddei propose une analyse approfondie de l'actualité avec un regard décalé et historique. Ces émissions d'Europe 1 sont devenues des rendez-vous incontournables pour comprendre les événements contemporains à travers le prisme de l'histoire. À travers des discussions passionnantes avec des experts, historiens et témoins, Frédéric Taddei dévoile les parallèles fascinants entre les événements du passé et ceux d'aujourd'hui. Son approche unique et son analyse fine permettent aux auditeurs de mieux appréhender l'actualité en la replaçant dans un contexte historique plus large. En conjuguant expertise historique et analyse de l'actualité, ces émissions offrent un espace unique où le présent dialogue avec le passé, enrichissant ainsi notre compréhension des événements contemporains.
</p>
    
    <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 30px; padding: 20px;">
        <!-- Les 6 cartes existantes restent inchangées -->
        <!-- Carte 1 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M3 18v-6a9 9 0 0 1 18 0v6"></path>
                <path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"></path>
            </svg>
            <p style="color: #ffffff; margin: 0;">Écouter gratuitement tous les podcasts en streaming</p>
        </div>

        <!-- Carte 2 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                <polyline points="7 10 12 15 17 10"></polyline>
                <line x1="12" y1="15" x2="12" y2="3"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Télécharger les épisodes pour une écoute hors-ligne</p>
        </div>

        <!-- Carte 3 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"></path>
                <line x1="2" y1="20" x2="2" y2="20"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Diffuser sur votre Chromecast ou appareil compatible</p>
        </div>

        <!-- Carte 4 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <polygon points="10 8 16 12 10 16 10 8"></polygon>
            </svg>
            <p style="color: #ffffff; margin: 0;">Accéder à toutes les rediffusions des émissions précédentes</p>
        </div>

        <!-- Carte 5 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
        <circle cx="9" cy="7" r="4"></circle>
        <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
        <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Découvrez "C'est arrivé demain" et "C'est arrivé cette semaine", où Frédéric Taddei décrypte l'actualité à la lumière de l'histoire pour éclairer le présent.</p>
</div>

        <!-- Carte 6 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px; position: relative;" onmouseover="this.style.transform='translateY(-5px)'; document.getElementById('live-tooltip').style.opacity='1'" onmouseout="this.style.transform='translateY(0)'; document.getElementById('live-tooltip').style.opacity='0'" onclick="window.location.href='https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/'">
    <div id="live-tooltip" style="position: absolute; top: -40px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); color: #fff; padding: 8px 15px; border-radius: 5px; font-size: 14px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; border: 1px solid #00ffff; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">
        Cliquez pour écouter en direct "C'est arrivé demain"
    </div>
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M4 12h1"></path>
        <path d="M9 12h1"></path>
        <path d="M14 12h1"></path>
        <path d="M19 12h1"></path>
        <rect x="2" y="8" width="20" height="12" rx="2"></rect>
        <path d="M6 8V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4"></path>
        <circle cx="12" cy="14" r="4"></circle>
        <path d="M12 10v8"></path>
        <path d="M8 14h8"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Ou écouter en direct "C'est arrivé demain" sur Europe 1, avec Frédéric Taddei qui décrypte l'actualité à travers l'histoire.</p>
    <p style="color: #00ffff; margin-top: 10px; font-weight: bold; font-size: 0.8em;">
     Diffusion : 9H00 - 10H00 : Dimanche
</p>
</div>
    </div>
</div>
        
        <!-- Histoire de l'émission -->
        <div style="padding: 20px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">"C'est arrivé demain" et "C'est arrivé cette semaine" - Comprendre l'actualité par le prisme de l'histoire sur Europe 1</h2>
    <p style="color: #ffffff; line-height: 1.6; text-align: center;">
        "C'est arrivé demain" et "C'est arrivé cette semaine" sont des émissions phares d'Europe 1 animées par Frédéric Taddei. Chaque jour, ces émissions passionnantes proposent aux auditeurs une plongée unique dans l'actualité, analysée à travers le prisme de l'histoire pour mieux comprendre les événements d'aujourd'hui.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        Diffusées en semaine, elles offrent un espace privilégié où l'information est décortiquée, éclairée par des perspectives historiques. Frédéric Taddei, avec son talent d'animateur et son regard éclairé, guide les auditeurs à travers les grands événements, en connectant passé et présent pour donner un sens aux enjeux contemporains.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        Ces émissions se sont imposées comme des rendez-vous incontournables grâce à leur capacité à rendre l'histoire vivante et accessible à tous. À travers des analyses pertinentes, des témoignages passionnants et des échanges enrichissants, "C'est arrivé demain" et "C'est arrivé cette semaine" célèbrent la richesse de notre héritage historique, tout en offrant une clé de lecture essentielle pour décrypter le monde actuel.
    </p>
    <div style="margin-top: 30px;">
        <img decoding="async" src="https://resize-europe1.lanmedia.fr/r/622,311,FFFFFF,center-middle/img/var/europe1/storage/images/europe1/emissions/europe-1-social-club/497556-18-fre-FR/Europe-1-social-club-Frederic-Taddei.jpg" alt="C'est arrivé demain" style="width: 96%; max-width: 360px; height: auto; border-radius: 15px; object-fit: cover;">
    </div>
</div>

        <!-- Biographie de Laurent Ruquier -->
        <div style="display: flex; flex-direction: column; align-items: center; gap: 20px;">
    <div style="width: 200px; height: 200px; border-radius: 50%; overflow: hidden; border: 3px solid #00ffff;">
        <img decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Fr%C3%A9d%C3%A9ric_Taddei_2012_A.jpg/800px-Fr%C3%A9d%C3%A9ric_Taddei_2012_A.jpg" alt="Portrait de Frédéric Taddei, style professionnel" style="width: 100%; height: 100%; object-fit: cover;">
    </div>
    <div style="text-align: center;">
        <h2 style="color: #00ffff; margin-bottom: 20px;">Frédéric Taddei - La voix qui relie l’histoire à l’actualité sur Europe 1</h2>
        <p style="color: #ffffff; line-height: 1.8;">
Frédéric Taddei est un journaliste culturel emblématique du paysage médiatique français, reconnu pour son esprit critique et sa curiosité. Né en 1961, il s’est fait connaître à la télévision notamment avec "Ce soir (ou jamais !)", où il a su animer avec brio des débats culturels et sociétaux, mettant en avant des perspectives variées et enrichissantes.

Depuis 2020, Frédéric Taddei anime sur Europe 1 les émissions "C'est arrivé demain" et "C'est arrivé cette semaine". Ces rendez-vous radiophoniques permettent aux auditeurs de comprendre l’actualité à travers le prisme de l’histoire. Chaque jour, il met en lumière les liens entre les événements actuels et le passé, offrant ainsi une lecture enrichie et nuancée du présent.

Son approche journalistique, à la fois rigoureuse et accessible, séduit un large public. Frédéric Taddei excelle dans l’art de rendre l’histoire vivante et pertinente, connectant des faits historiques aux enjeux contemporains. Grâce à son expérience et à sa vaste culture, il propose des analyses profondes tout en restant compréhensible et engageant.

Par son talent à vulgariser l’histoire et à éclairer l'actualité sous un angle inédit, Frédéric Taddei a fait de "C'est arrivé demain" et "C'est arrivé cette semaine" des émissions incontournables pour tous ceux qui souhaitent mieux comprendre le monde qui les entoure.
        </p>
    </div>
</div>

        <!-- Sources (span across both columns) -->
        <div style="grid-column: 1 / -1; margin-top: 20px; padding: 15px; background: rgba(0, 0, 0, 0.2); border-radius: 10px; text-align: center;">
    <h3 style="color: #00ffff; margin-bottom: 10px; font-size: 1.2em;">Sources :</h3>
    <ul style="list-style: none; padding: 0; text-align: center; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
        <li>
            <a href="https://fr.wikipedia.org/wiki/Fr%C3%A9d%C3%A9ric_Tadde%C3%AF" target="_blank" style="color: #00ffff; text-decoration: none; transition: all 0.3s; padding: 5px 10px; border-radius: 5px; display: inline-block; &amp;:hover { background: rgba(0, 255, 255, 0.1); transform: translateY(-2px); box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); }">• Biographie Frédéric Taddei</a>
        </li>
    </ul>
</div>
    </div>
</div>

</div>

    <div id="player-modal" class="modal">
    <div class="modal-content">
        <span class="close" onclick="closeModal()">×</span>
        <div id="player-content">
        </div>
        <button id="chromecast-button" onclick="startChromecast()" style="width: 60px; height: 60px; border-radius: 50%; padding: 0; background-image: url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png'); background-size: 35px; background-position: center; background-repeat: no-repeat; font-size: 0;"></button>
    </div>
    <div id="player-content">
    <style>
        /* Styles existants */
        .modal-content {
            background-color: #1a1a1a;
            padding: 40px;
            border: 2px solid #00ffff;
            width: 90%;
            max-width: 500px;
            max-height: 90vh;
            border-radius: 20px;
            text-align: center;
            box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
            position: fixed; /* Changé de absolute à fixed */
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) !important; /* Ajout de !important */
            overflow-y: auto;
            color: white;
        }

        /* Change la couleur du timing en noir */
        audio::-webkit-media-controls-time-display {
            color: #000000 !important;
        }

        /* Ajout de media queries pour le mobile */
        @media (max-width: 768px) {
            .modal-content {
                padding: 30px;
                width: 95%;
                margin: 0 auto;
                position: fixed;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%) !important;
            }
        }

        @media (max-height: 600px) {
            .modal-content {
                max-height: 85vh;
            }
        }
    </style>
</div>
    </div>

    <div id="fixed-player-bar" class="rtl-podcast-player" style="display: none;">
    <div class="fixed-player-content">
        <h3 id="fixed-player-title"></h3>
        <div class="audio-controls-container" style="display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%; max-width: 800px; margin: 0 auto;">
            <audio id="fixed-player-audio" controls="">
                <source src="" type="audio/mpeg">
            </audio>
            <button onclick="startChromecast()" style="width: 40px; height: 40px; min-width: 40px; border-radius: 50%; padding: 0; background: #ffffff url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png') center/25px no-repeat; border: 2px solid #00ffff; font-size: 0; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">Cast to Chromecast</button>
            <button id="close-fixed-player" onclick="closeFixedPlayer()" style="background: none; border: none; color: #00ffff; font-size: 24px; cursor: pointer; padding: 5px; min-width: 24px; display: flex; align-items: center; justify-content: center;">×</button>
        </div>
    </div>
</div>

    <script>
    (function RTLPodcastPlayer() {
        // Initialize cast api
        window.__onGCastApiAvailable = function(isAvailable) {
            if (!isAvailable) return;

            const initializeCastApi = function() {
                const sessionRequest = new chrome.cast.SessionRequest(chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);
                const apiConfig = new chrome.cast.ApiConfig(
                    sessionRequest,
                    sessionListener,
                    receiverListener
                );
                chrome.cast.initialize(apiConfig, onInitSuccess, onError);
            };

            const sessionListener = function(session) {
                console.log('Session listener', session);
            };

            const receiverListener = function(availability) {
                console.log('Receiver listener', availability);
            };

            const onInitSuccess = function() {
                console.log('Cast initialization success');
            };

            const onError = function(error) {
                console.error('Cast initialization error', error);
            };

            if (!chrome.cast || !chrome.cast.isAvailable) {
                setTimeout(initializeCastApi, 1000);
            } else {
                initializeCastApi();
            }
        };

        const rssUrl = "https://www.europe1.fr/rss/podcasts/c-est-arrive-demain.xml";
        const proxyUrl = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(rssUrl)}&api_key=int3lqiwwrpnsvem6yki0mtwki2f4qcvcxtrlyea&count=200`;
        const episodesPerPage = 4;
        let currentPage = 1;
        let currentAudioUrl = '';
        let totalPages = 0;

        // Ajouter ces variables au début du script
        let currentEpisodeIndex = 0;
        let allEpisodes = [];
        let filteredEpisodes = [];

        fetch(proxyUrl)
            .then(response => response.json())
            .then(data => {
                if (data.status !== "ok") {
                    throw new Error("Erreur de chargement du flux RSS.");
                }
                allEpisodes = data.items;
                filteredEpisodes = [...allEpisodes];
                displayFeaturedEpisode(allEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(allEpisodes);
            })
            .catch(error => {
                document.getElementById("featured-episode").innerHTML = "<p>Impossible de charger le flux RSS. Veuillez réessayer plus tard.</p>";
            });

        function truncateDescription(description, maxLength = 180) {
        const tempElement = document.createElement("div");
        tempElement.innerHTML = description;
        let plainText = tempElement.innerText || tempElement.textContent || '';
        if (plainText.length <= maxLength) return plainText.trim();
        return plainText.substring(0, maxLength).trim() + '...';
    }

    function displayFeaturedEpisode(episode) {
        const featuredEpisode = document.getElementById("featured-episode");
        featuredEpisode.innerHTML = `
        <div class="features-episode" style="width: 100%; height: 100%;">
            <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[0].enclosure.link)}', '${sanitizeString(allEpisodes[0].title)}')">
                <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[0].title)}</h3>
                ${allEpisodes[0].thumbnail ? `<img decoding="async" src="${allEpisodes[0].thumbnail}" alt="Image de la dernière émission">` : ""}
                <div class="description" style="color: white;">${truncateDescription(allEpisodes[0].description)}</div>
                <div class="date-badge">
                    ${new Date(allEpisodes[0].pubDate).toLocaleDateString('fr-FR', {
                        day: '2-digit',
                        month: '2-digit',
                        year: '2-digit'
                    })}
                </div>
                <button></button>
            </div>
            
            <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[1].enclosure.link)}', '${sanitizeString(allEpisodes[1].title)}')">
                <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[1].title)}</h3>
                ${allEpisodes[1].thumbnail ? `<img decoding="async" src="${allEpisodes[1].thumbnail}" alt="Image de l'avant-dernière émission">` : ""}
                <div class="description" style="color: white;">${truncateDescription(allEpisodes[1].description)}</div>
                <div class="date-badge">
                    ${new Date(allEpisodes[1].pubDate).toLocaleDateString('fr-FR', {
                        day: '2-digit',
                        month: '2-digit',
                        year: '2-digit'
                    })}
                </div>
                <button></button>
            </div>
        </div>
        `;
    }

    function displayEpisodes(page, episodes) {
        const episodeGrid = document.getElementById("episode-grid");
        episodeGrid.innerHTML = "";
        const episodesWithoutFeatured = episodes.slice(2);
        const start = (page - 1) * episodesPerPage;  
        const end = start + episodesPerPage;
        
        episodesWithoutFeatured.slice(start, end).forEach(item => {
            episodeGrid.innerHTML += `
            <div class="episode">
                <h5 style="color: #00ffff;">${sanitizeString(item.title)}</h5>
                ${item.thumbnail ? `<img decoding="async" src="${item.thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 150px;">` : ""}
                <div class="description" style="color: white;">${truncateDescription(item.description)}</div>
                <div class="date-badge">
                    ${new Date(item.pubDate).toLocaleDateString('fr-FR', {
                        day: '2-digit',
                        month: '2-digit',
                        year: '2-digit'
                    })}
                </div>
                <button onclick="openModal('${sanitizeString(item.enclosure.link)}', '${sanitizeString(item.title)}')"></button>
            </div>
            `;
        });
        updatePaginationButtons();
    }

    function setupPagination(episodes) {
        totalPages = Math.ceil((episodes.length - 2) / episodesPerPage);
        const pageNumbers = document.getElementById("page-numbers");
        pageNumbers.innerHTML = "";

        let start = currentPage;
        if (currentPage === totalPages) {
            start = totalPages - 2;
        } else if (currentPage === 1) {
            start = 1;
        } else {
            start = currentPage - 1;
        }

        start = Math.max(1, start);
        
        for (let i = start; i < start + 3 && i <= totalPages; i++) {
            const button = document.createElement("button");
            button.textContent = i;
            button.addEventListener("click", () => {
                currentPage = i;
                displayEpisodes(currentPage, episodes);
                setupPagination(episodes);
            });
            pageNumbers.appendChild(button);
        }

        window.changePage = function(direction) {
            if (direction === 'prev' && currentPage > 1) {
                currentPage--;
            } else if (direction === 'next' && currentPage < totalPages) {
                currentPage++;
            }
            displayEpisodes(currentPage, filteredEpisodes);
            setupPagination(episodes);
            updatePaginationButtons();
        }

        updatePaginationButtons();
    }

    function updatePaginationButtons() {
        const prevBtn = document.getElementById('prev-btn');
        const nextBtn = document.getElementById('next-btn');
        
        prevBtn.disabled = currentPage === 1;
        nextBtn.disabled = currentPage === totalPages;
        
        prevBtn.style.opacity = currentPage === 1 ? '0.5' : '1';
        nextBtn.style.opacity = currentPage === totalPages ? '0.5' : '1';
        
        const pageButtons = document.querySelectorAll('#page-numbers button');
        pageButtons.forEach((button, index) => {
            if (index + 1 === currentPage) {
                button.style.backgroundColor = '#00ffff';
                button.style.color = '#000';
            } else {
                button.style.backgroundColor = '#1a1a1a';
                button.style.color = '#00ffff';
            }
        });
    }

    function sanitizeString(str) {
        return str.replace(/['"\\<>]/g, "");
    }

    window.openModal = function(audioUrl, title) {
        const playerContent = document.getElementById("player-content");
        const currentEpisode = allEpisodes.find(ep => ep.enclosure.link === audioUrl);
        const thumbnail = currentEpisode?.thumbnail;
        
        playerContent.innerHTML = `
            <h2>${title}</h2>
            ${thumbnail ? `<img decoding="async" src="${thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 300px; margin: 15px 0;">` : ''}
            <audio controls style="width: 100%; margin-top: 10px;" id="modal-audio">
                <source src="${audioUrl}" type="audio/mpeg">
                Votre navigateur ne supporte pas la lecture audio.
            </audio>
        `;
        
        currentAudioUrl = audioUrl;
        document.getElementById("player-modal").style.display = "block";
        window.currentEpisodeTitle = title;
        
        const modalAudio = document.getElementById('modal-audio');
        modalAudio.addEventListener('play', () => {
            window.isPlaying = true;
        });
        modalAudio.addEventListener('pause', () => {
            window.isPlaying = false;
        });
    }

    window.closeModal = function() {
        const modalAudio = document.getElementById('modal-audio');
        const fixedPlayerBar = document.getElementById('fixed-player-bar');
        const fixedPlayerAudio = document.getElementById('fixed-player-audio');
        const fixedPlayerTitle = document.getElementById('fixed-player-title');
        
        if (window.isPlaying) {
            modalAudio.pause();
            fixedPlayerBar.style.display = 'block';
            fixedPlayerTitle.textContent = window.currentEpisodeTitle;
            fixedPlayerAudio.src = currentAudioUrl;
            fixedPlayerAudio.currentTime = modalAudio.currentTime;
            fixedPlayerAudio.play();
        }
        
        document.getElementById("player-modal").style.display = "none";
    }

    window.closeFixedPlayer = function() {
        const fixedPlayerBar = document.getElementById('fixed-player-bar');
        const fixedPlayerAudio = document.getElementById('fixed-player-audio');
        fixedPlayerAudio.pause();
        fixedPlayerBar.style.display = 'none';
    }

    window.startChromecast = function() {
        if (!chrome.cast || !chrome.cast.isAvailable) {
            console.log('Cast API not available');
            return;
        }

        chrome.cast.requestSession(
            function(session) {
                if (currentAudioUrl) {
                    const mediaInfo = new chrome.cast.media.MediaInfo(currentAudioUrl, 'audio/mpeg');
                    mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();
                    mediaInfo.metadata.title = document.querySelector('#player-content h2').textContent;

                    const request = new chrome.cast.media.LoadRequest(mediaInfo);
                    session.loadMedia(request).then(
                        () => console.log('Lecture Chromecast démarrée'),
                        errorCode => console.error('Erreur Chromecast: ' + errorCode)
                    );
                }
            },
            function(error) {
                console.error('Erreur lors de la création de la session:', error);
            }
        );
    }

        window.shareOnX = function() {
            const text = "Écoutez les podcasts : C'est arrivé demain d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(text)}&url=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnWhatsapp = function() {
            const text = "Écoutez les podcasts : C'est arrivé demain d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://wa.me/?text=${encodeURIComponent(text + ' ' + url)}`, '_blank');
        };

        window.shareOnFacebook = function() {
          const text = "Écoutez les podcasts : C'est arrivé demain d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnLinkedIn = function() {
          const text = "Écoutez les podcasts : C'est arrivé demain d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(url)}`, '_blank');
        };

        window.filterAndDisplayEpisodes = function() {
            const searchTerm = document.getElementById('podcast-search').value.toLowerCase();
            const filterValue = document.getElementById('podcast-filter').value;
            
            // Filter episodes based on search term
            filteredEpisodes = allEpisodes.filter(episode => 
                episode.title.toLowerCase().includes(searchTerm) || 
                episode.description.toLowerCase().includes(searchTerm)
            );
            
            // Sort episodes based on filter value
            if (filterValue === 'oldest') {
                filteredEpisodes.sort((a, b) => new Date(a.pubDate) - new Date(b.pubDate));
            } else {
                filteredEpisodes.sort((a, b) => new Date(b.pubDate) - new Date(a.pubDate));
            }
            
            // Reset pagination to first page when filtering
            currentPage = 1;
            
            // Update display
            if (filteredEpisodes.length > 0) {
                displayFeaturedEpisode(filteredEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(filteredEpisodes);
            } else {
                // Handle no results
                document.getElementById('episode-grid').innerHTML = '<p style="color: #fff; text-align: center; grid-column: 1/-1;">Aucun résultat trouvé</p>';
                document.getElementById('page-numbers').innerHTML = '';
            }
        }
    })();
</script>
</div>
</div></div></body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-9e9820f e-con-full e-flex e-con e-parent" data-id="9e9820f" data-element_type="container">
				<div class="elementor-element elementor-element-d4246d5 elementor-widget elementor-widget-html" data-id="d4246d5" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<html><head><base>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  <style>
    .rs-carousel-section {
      padding: 50px 0; 
      background: linear-gradient(45deg, #1a1a1a, #2c2c2c, #0e4d4d);
      background-size: 400% 400%;
      animation: rs-gradientBG 15s ease infinite;
      color: #ffffff;
      font-family: 'Roboto', sans-serif;
      min-height: flex; 
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .rs-title {
      color: #00ffff;
      text-align: center;
      margin: 2rem 0;
      font-size: 2rem;
      text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-container {
      max-width: auto;
      width: 100%;
      position: relative;
      padding: 50px 150px; 
      box-sizing: border-box;
      overflow: hidden;
      margin: 0 auto; 
    }

    .rs-carousel {
      display: flex;
      overflow: hidden;
      scroll-behavior: smooth;
      gap: 20px;
      padding: 20px 0 0 0;
      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .rs-radio-card {
      min-width: 250px;
      flex: 0 0 250px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 15px;
      text-align: center;
      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
      border: 2px solid #00ffff;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);
      position: relative;
      overflow: hidden;
      transform-origin: center center;
      padding: 20px 15px; /* Add consistent padding */
    }

    .rs-radio-card.rs-scrolling {
      transform: scale(0.95) rotate(-2deg);
    }

    .rs-radio-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(0, 255, 255, 0.1), transparent);
      transition: 0.5s;
    }

    .rs-radio-card:hover::before {
      left: 100%;
    }

    .rs-radio-card:hover {
      transform: translateY(-5px) scale(1.02);
      box-shadow: 0 10px 30px rgba(0, 255, 255, 0.3);
      z-index: 1;
    }

    .rs-radio-logo {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      margin-bottom: 1rem;
      border: 3px solid #00ffff;
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);
      transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      cursor: pointer; /* Add cursor pointer to indicate interactivity */
    }

    .rs-radio-logo:hover {
      transform: rotateY(180deg) scale(1.15);
      border-color: #ff00ff;
      box-shadow: 
        0 0 25px rgba(0, 255, 255, 0.5),
        0 0 50px rgba(255, 0, 255, 0.3);
      animation: logoGlow 1.5s infinite alternate;
    }

    @keyframes logoGlow {
      0% {
        box-shadow: 0 0 25px rgba(0, 255, 255, 0.5),
                    0 0 50px rgba(255, 0, 255, 0.3);
      }
      100% {
        box-shadow: 0 0 35px rgba(0, 255, 255, 0.8),
                    0 0 70px rgba(255, 0, 255, 0.6);
      }
    }

    .rs-radio-name {
      font-size: 1.2rem; /* Reduced from 1.5rem */
      margin: 15px 0;
      color: #00ffff;
      transition: all 0.3s ease;
      position: relative; /* Added */
    }

    /* Add hover state for radio name span elements */
    .rs-radio-name span:first-child {
      display: inline-block;
      transition: opacity 0.3s ease;
    }

    .rs-radio-name span:last-child {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      opacity: 0;
      transition: opacity 0.3s ease;
      width: 100%;
    }

    .rs-radio-card:hover .rs-radio-name span:first-child {
      opacity: 0;
    }

    .rs-radio-card:hover .rs-radio-name span:last-child {
      opacity: 1;
    }

    .rs-listen-button {
      position: relative; /* Add this */
      background: #00ffff;
      color: #000;
      width: 60px;
      height: 60px;
      border: none;
      border-radius: 50%;
      font-size: 1.5rem;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      text-decoration: none;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 1rem auto;
      overflow: hidden;
    }

    .rs-listen-button:hover {
      background: #00cccc;
      transform: scale(1.1) rotate(360deg);
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.6);
    }

    .rs-listen-button::before {
      content: "Voir la webradio";
      position: absolute;
      bottom: -30px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(0, 255, 255, 0.9);
      color: #000;
      padding: 5px 10px;
      border-radius: 4px;
      font-size: 12px;
      white-space: nowrap;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
    }

    .rs-listen-button:hover::before {
      opacity: 1;
      visibility: visible;
      bottom: -35px;
    }

    .rs-listen-button:hover i {
      animation: rs-colorChange 2s infinite;
    }

    @keyframes rs-colorChange {
      0% { color: #ff0000; }
      20% { color: #ff7700; }
      40% { color: #ffff00; }
      60% { color: #00ff00; }
      80% { color: #0000ff; }
      100% { color: #ff0000; }
    }

    .rs-listen-button::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle, transparent 30%, rgba(255, 255, 255, 0.3) 70%);
      animation: rs-pulseGlow 2s infinite;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-listen-button:hover::after {
      opacity: 1;
    }

    @keyframes rs-pulseGlow {
      0% {
        transform: scale(0.95);
        opacity: 0.5;
      }
      50% {
        transform: scale(1.1);
        opacity: 0.2;
      }
      100% {
        transform: scale(0.95);
        opacity: 0.5;
      }
    }

    .rs-carousel-button {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0, 255, 255, 0.2);
      border: none;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #00ffff;
      font-size: 1.5rem;
      transition: all 0.3s ease;
      z-index: 2;
      overflow: hidden; /* Add this for ripple effect */
    }

    .rs-carousel-button:hover {
      background: rgba(0, 255, 255, 0.2);
      transform: translateY(-50%) scale(1.1);
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-button::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle at center, rgba(0, 255, 255, 0.8) 0%, transparent 70%);
      transform: scale(0);
      opacity: 0;
      transition: transform 0.5s ease-out, opacity 0.3s ease;
    }

    .rs-carousel-button:hover::before {
      transform: scale(2);
      opacity: 0.3;
    }

    .rs-carousel-button:hover i {
      animation: arrowBounce 0.5s ease infinite alternate;
    }

    @keyframes arrowBounce {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(3px);
      }
    }

    .rs-carousel-button.rs-prev:hover i {
      animation: arrowBounceLeft 0.5s ease infinite alternate;
    }

    @keyframes arrowBounceLeft {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(-3px);
      }
    }

    .rs-carousel-button.rs-prev {
      left: 0;
    }

    .rs-carousel-button.rs-next {
      right: 0;
    }

    @keyframes rs-floatingNotesCard {
      0% {
        opacity: 0;
        transform: translate(0, 0) rotate(0deg);
      }
      50% {
        opacity: 1;
      }
      100% {
        opacity: 0;
        transform: translate(-50px, -50px) rotate(360deg);
      }
    }

    .rs-card-notes {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-radio-card:hover .rs-card-notes {
      opacity: 1;
    }

    .rs-card-note {
      position: absolute;
      font-size: 20px;
      color: #00ffff;
      animation: rs-floatingNotesCard 2s ease-out infinite;
    }

    .rs-card-note-1 { top: 10%; left: 10%; animation-delay: 0s; }
    .rs-card-note-2 { top: 5%; left: 30%; animation-delay: 0.3s; }
    .rs-card-note-3 { top: 15%; left: 50%; animation-delay: 0.6s; }
    .rs-card-note-4 { top: 8%; left: 70%; animation-delay: 0.9s; }
    .rs-card-note-5 { top: 12%; left: 90%; animation-delay: 1.2s; }

    .rs-radio-tag {
      position: absolute;
      top: 10px;
      right: 10px;
      padding: 5px 12px;
      font-size: 0.8rem;
      border-radius: 15px;
      background: rgba(0, 0, 0, 0.7);
      color: #fff;
      border: 1px solid #00ffff;
      box-shadow: 0 0 5px #00ffff,
                  inset 0 0 5px #00ffff;
      text-transform: uppercase;
      letter-spacing: 1px;
      transition: all 0.3s ease;
      transform-style: preserve-3d;
      perspective: 1000px;
      cursor: pointer;
    }
    
    .rs-radio-tag i {
      margin-right: 5px;
      color: #00ffff;
      text-shadow: 0 0 5px #00ffff,
                   0 0 10px #00ffff,
                   0 0 15px #00ffff;
    }

    /* Add hover effects */
    .rs-radio-tag:hover {
      transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      box-shadow: 0 0 15px #00ffff,
                  inset 0 0 10px #00ffff,
                  0 10px 20px rgba(0, 255, 255, 0.4);
      background: rgba(0, 255, 255, 0.1);
      letter-spacing: 2px;
      animation: tagFloat 1s ease-in-out infinite alternate;
    }

    /* Add new keyframe animation */
    @keyframes tagFloat {
      0% {
        transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      }
      100% {
        transform: translateZ(30px) rotateX(15deg) rotateY(-15deg);
        text-shadow: 2px 2px 4px rgba(0, 255, 255, 0.6);
      }
    }

    /* Add before/after elements for 3D effect */
    .rs-radio-tag::before {
      content: '';
      position: absolute;
      inset: -2px;
      background: linear-gradient(45deg, transparent, rgba(0, 255, 255, 0.3), transparent);
      transform: translateZ(-1px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag::after {
      content: '';
      position: absolute;
      inset: -1px;
      background: linear-gradient(-45deg, transparent, rgba(0, 255, 255, 0.2), transparent);
      transform: translateZ(-2px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag:hover::before,
    .rs-radio-tag:hover::after {
      opacity: 1;
    }

    @keyframes rs-floatingNotes {
      0% {
        transform: translateY(0) rotate(0deg) scale(1);
        opacity: 0;
      }
      50% {
        transform: translateY(-20px) rotate(180deg) scale(1.2);
        opacity: 1;
      }
      100% {
        transform: translateY(-40px) rotate(360deg) scale(1);
        opacity: 0;
      }
    }

    @media (max-width: 768px) {
      .rs-carousel-section {
        padding: 30px 0;
      }
      .rs-carousel-container {
        padding: 15px 20px; 
      }
      .rs-radio-card {
        min-width: 250px !important; /* Reduced by 20% from original 312.5px */
        flex: 0 0 250px !important; /* Reduced by 20% from original 312.5px */
      }
      /* Content size reductions */
      .rs-radio-logo {
        width: 84px !important;
        height: 84px !important;
      }
      .rs-radio-name {
        font-size: 1rem !important;
      }
      .rs-listen-button {
        width: 48px;
        height: 48px;
      }
    }

    @media (max-width: 480px) {
      .rs-carousel-section {
        padding: 20px 0;
      }
      .rs-carousel-container {
        padding: 0 30px; 
      }
      .rs-radio-card {
        min-width: 200px !important; /* Further reduced by 20% from tablet size */
        flex: 0 0 200px !important; /* Further reduced by 20% from tablet size */
      }
      /* Further reduce content for smallest screens */
      .rs-radio-logo {
        width: 76px !important;
        height: 76px !important;
        margin: 8px auto 12px !important;
      }
      .rs-radio-name {
        font-size: 0.9rem !important;
      }
      .rs-listen-button {
        width: 40px;
        height: 40px;
      }
    }

    /* Add this CSS inside the existing <style> tag */
    .rs-all-podcasts-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 12px 24px;
      margin: 30px auto 20px;
      background: linear-gradient(45deg, #00ffff, #00cccc);
      border: none;
      border-radius: 25px;
      color: #000;
      font-size: 1rem;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.3s ease;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
      position: relative;
      overflow: hidden;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .rs-all-podcasts-btn:hover {
      transform: translateY(-2px) scale(1.05);
      box-shadow: 
        0 0 20px rgba(0, 255, 255, 0.5),
        0 0 40px rgba(0, 255, 255, 0.2);
    }

    .rs-all-podcasts-btn::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, transparent 65%);
      transform: scale(0);
      transition: transform 0.6s ease-out;
    }

    .rs-all-podcasts-btn:hover::before {
      transform: scale(1) rotate(45deg);
    }

    .rs-all-podcasts-btn i {
      font-size: 1.2rem;
      color: #000;
    }
  </style>
</head>
<body>
  <div class="rs-carousel-section" id="radiostreamr-carousel-section">
    <h2 class="rs-title" id="radiostreamr-title" style="font-size: 28px; animation: textGlow 2s infinite; text-shadow: 0 0 10px rgba(0, 255, 255, 0.5), 0 0 20px rgba(0, 255, 255, 0.3), 0 0 30px rgba(0, 255, 255, 0.2); position: relative; padding-left: 15px; padding-right: 15px;">
  Ecoutez les meilleurs podcasts de la chaine Europe 1 :
</h2>
    
    <div class="rs-carousel-container" id="radiostreamr-container">
      <button class="rs-carousel-button rs-prev" id="radiostreamr-prev-button">
        <i class="fas fa-chevron-left"></i>
      </button>
      
      <div class="rs-carousel" id="radiostreamr-carousel" style="gap: 25px;">

        <!-- Skyrock -->
        <div class="rs-radio-card" id="radiostreamr-card-hondelatte" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/hondelatte-raconte-podcast.webp" alt="Hondelatte raconte" class="rs-radio-logo" style="width: 105px; height: 105px; margin: 10px auto 15px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Histoire prenante</span>
          <h2 class="rs-radio-name">
            <span>Hondelatte raconte</span>
            <span>Podcasts Hondelatte raconte</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-hondelatte-raconte/" class="rs-listen-button" style="margin: 15px auto 10px;">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Oui FM -->
        <div class="rs-radio-card" id="radiostreamr-card-On-marche-sur-la-tête" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-podcast-on-marche-sur-la-tete-cyril-hanouna-radiostreamr.webp" alt="On marche sur la tête logo" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-laugh"></i>Humour</span>
          <h2 class="rs-radio-name">
            <span>On marche sur la tête</span>
            <span>Podcasts On marche sur la tête</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-on-marche-sur-la-tete/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- FIP -->
        <div class="rs-radio-card" id="radiostreamr-card-Europe-1-Matin" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-matin-podcast.webp" alt="FIP Radio" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Matin</span>
            <span>Podcasts Europe 1 Matin</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-matin/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
        
        <!-- Add after the FIP card and before RMC -->
        <div class="rs-radio-card" id="radiostreamr-card-le-grand-rendez-vous" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/0x1900-000000-80-0-0.webp" alt="Le grand rendez-vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Le Grand Rendez-vous</span>
            <span>Podcasts Le Grand Rendez-vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-le-grand-rendez-vous//" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-pascal-praud" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/pascal-praud-podcast.webp" alt="Pascal Praud et vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Pascal Praud et vous</span>
            <span>Podcasts Pascal Praud et vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-pascal-praud/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-cheriefm" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-logo-radio-en-ligne.webp" alt="Charlotte d'Ornellas - Les signatures d'Europe 1" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Chronique actualité</span>
          <h2 class="rs-radio-name">
            <span>Charlotte d'Ornellas</span>
            <span>Podcasts Charlotte d'Ornellas</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-chronique-charlotte-dornellas/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- La Libre Antenne -->
        <div class="rs-radio-card" id="radiostreamr-card-libre-antenne" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/libre-antenne.webp" alt="La Libre Antenne" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-comments"></i>Discussion</span>
          <h2 class="rs-radio-name">
            <span>La Libre Antenne</span>
            <span>Podcasts La Libre Antenne</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-olivier-delacroix/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Il n'y a qu'une vie dans la vie -->
        <div class="rs-radio-card" id="radiostreamr-card-isabelle-morizet" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/isabelle-morizet-podcast.webp" alt="Il n'y a qu'une vie dans la vie" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-friends"></i>Interview</span>
          <h2 class="rs-radio-name">
            <span>Il n'y a qu'une vie dans la vie</span>
            <span>Podcasts Isabelle Morizet</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-isabelle-morizet/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 Soir -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-soir" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-soir-podcasts.webp" alt="Europe 1 Soir" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Soir</span>
            <span>Podcasts Europe 1 Soir</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-soir/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 13h -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-13h" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-13h-podcast.webp" alt="Europe 1 13h" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 13h</span>
            <span>Podcasts Europe 1 13h</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-13h/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Le Studio des Légendes -->
        <div class="rs-radio-card" id="radiostreamr-card-studio-legendes" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/le-studio-des-legendes-podcast.webp" alt="Le Studio des Légendes" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-star"></i>Culture</span>
          <h2 class="rs-radio-name">
            <span>Le Studio des Légendes</span>
            <span>Podcasts Le Studio des Légendes</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-studio-des-legendes/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe Soir Week-end -->
        <div class="rs-radio-card" id="radiostreamr-card-europe-soir-weekend" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-soir-week-end-podcast.webp" alt="Europe Soir Week-end" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe Soir Week-end</span>
            <span>Podcasts Europe Soir Week-end</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe-soir-week-end/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- L'heure des Pros -->
        <div class="rs-radio-card" id="radiostreamr-card-heure-pros" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/lheure-des-pros-podcast.webp" alt="L'heure des Pros" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>L'heure des Pros</span>
            <span>Podcasts L'heure des Pros</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-lheure-des-pros/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les années Top 50 -->
        <div class="rs-radio-card" id="radiostreamr-card-top-50" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/les-annees-top-50-podcast-europe1-1.webp" alt="Les années Top 50" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Musique</span>
          <h2 class="rs-radio-name">
            <span>Les années Top 50</span>
            <span>Podcasts Les années Top 50</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-top-50/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Face à Philippe de Villiers -->
        <div class="rs-radio-card" id="radiostreamr-card-philippe-villiers" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/philippe-de-villiers-podcast-europe1.webp" alt="Face à Philippe de Villiers" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-tie"></i>Politique</span>
          <h2 class="rs-radio-name">
            <span>Face à Philippe de Villiers</span>
            <span>Podcasts Face à Philippe de Villiers</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-face-a-philippe-de-villiers/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les histoires d'amour extraordinaires -->
        <div class="rs-radio-card" id="radiostreamr-card-histoires-amour" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/sophie-davant-podcast.webp" alt="Les histoires d'amour extraordinaires" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-heart"></i>Romance</span>
          <h2 class="rs-radio-name">
            <span>Les histoires d'amour extraordinaires</span>
            <span>Podcasts Les histoires d'amour extraordinaires</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-histoires-damour-extraordinaires/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Au Coeur de l'Histoire -->
        <div class="rs-radio-card" id="radiostreamr-card-coeur-histoire" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/podcast-au-coeur-de-lhistoire.webp" alt="Au Coeur de l'Histoire" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-book-open"></i>Histoire</span>
          <h2 class="rs-radio-name">
            <span>Au Coeur de l'Histoire</span>
            <span>Podcasts Au Coeur de l'Histoire</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-au-coeur-de-lhistoire/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
      </div>

      <button class="rs-carousel-button rs-next" id="radiostreamr-next-button">
        <i class="fas fa-chevron-right"></i>
      </button>
    </div>
    <a href="https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/podcast-europe1" class="rs-all-podcasts-btn">
      <i class="fas fa-podcast"></i>
      Voir tous les podcasts
    </a>
  </div>

  <script>
    (function() {
      class RadioStreamrCarousel {
        constructor(selector) {
          this.container = document.querySelector(selector);
          this.carousel = this.container.querySelector('.rs-carousel');
          this.allCards = Array.from(this.container.querySelectorAll('.rs-radio-card')); // Store all cards
          this.prevButton = this.container.querySelector('.rs-carousel-button.rs-prev');

          // Select random 9 cards
          this.selectRandomCards();
          
          // Initialize properties after cards are selected
          this.cards = Array.from(this.container.querySelectorAll('.rs-radio-card'));
          this.currentIndex = 0;
          this.cardWidth = this.cards[0].offsetWidth + 20;
          this.cardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
          this.maxIndex = this.cards.length - this.cardsPerView;
          this.nextButton = this.container.querySelector('.rs-carousel-button.rs-next');

          this.init();
        }

        selectRandomCards() {
          // Remove all cards from carousel
          this.allCards.forEach(card => card.remove());

          // Randomly select 9 cards
          const shuffled = [...this.allCards].sort(() => 0.5 - Math.random());
          const selected = shuffled.slice(0, 14);
          
          // Add selected cards back to carousel
          selected.forEach(card => {
            this.carousel.appendChild(card);
          });
        }

        init() {
          this.bindEvents();
        }

        scrollToIndex(index) {
          // Handle infinite loop
          if (index < 0) {
            this.currentIndex = this.cards.length - this.cardsPerView;
          } else if (index > this.maxIndex) {
            this.currentIndex = 0;
          } else {
            this.currentIndex = index;
          }
          
          // Add scrolling class to cards
          this.cards.forEach(card => {
            card.classList.add('rs-scrolling');
            setTimeout(() => card.classList.remove('rs-scrolling'), 500);
          });

          // Scroll with animation
          this.carousel.scrollTo({
            left: this.currentIndex * this.cardWidth,
            behavior: 'smooth'
          });

          // Create floating notes effect
          const notes = ['♪', '♫', '♬'];
          for(let i = 0; i < 3; i++) {
            const note = document.createElement('span');
            note.textContent = notes[Math.floor(Math.random() * notes.length)];
            note.style.cssText = `
              position: absolute;
              color: #00ffff;
              font-size: 24px;
              top: ${50 + Math.random() * 100}px;
              left: ${50 + Math.random() * (this.carousel.offsetWidth - 100)}px;
              animation: rs-floatingNotes 1s ease-out ${i * 0.2}s forwards;
              pointer-events: none;
            `;
            this.carousel.appendChild(note);
            setTimeout(() => note.remove(), 1000 + i * 200);
          }
        }

        bindEvents() {
          this.prevButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex - 1));
          this.nextButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex + 1));

          window.addEventListener('resize', () => {
            const newCardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
            const newMaxIndex = this.cards.length - newCardsPerView;
            this.currentIndex = Math.min(this.currentIndex, newMaxIndex);
            this.scrollToIndex(this.currentIndex);
          });
        }
      }

      document.addEventListener('DOMContentLoaded', function() {
        new RadioStreamrCarousel('.rs-carousel-section');
      });
    })();
  </script>
</body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-0d0797d e-con-full e-flex e-con e-parent" data-id="0d0797d" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
				<div class="elementor-element elementor-element-9260360 elementor-widget elementor-widget-shortcode" data-id="9260360" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"></div>
						</div>
				</div>
				</div>
				</div>
		<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-cest-arrive-demain/">🗣️ Podcast et Replay &#8211; C&rsquo;est arrivé demain de Frédéric Taddei &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://radiostreamr.com/radio-france/podcast-cest-arrive-demain/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🗣️ Podcast et Replay &#8211; Dis-moi ce que tu chantes de Didier Barbelivien &#8211; Europe 1</title>
		<link>https://radiostreamr.com/radio-france/podcast-dis-moi-ce-que-tu-chantes/</link>
					<comments>https://radiostreamr.com/radio-france/podcast-dis-moi-ce-que-tu-chantes/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 12 Nov 2024 08:20:55 +0000</pubDate>
				<category><![CDATA[Europe 1]]></category>
		<category><![CDATA[Podcast]]></category>
		<guid isPermaLink="false">https://radiostreamr.com/radio-france/?p=1094</guid>

					<description><![CDATA[<p>Dis moi ce que tu chantes animé par Didier Barbelivien &#8211; Écoutez tous les podcasts Europe 1 en rediffusion Plus récentsPlus anciens Publicité Dis moi ce que tu chantes &#8211; Didier Barbelivien décrypte l&#8217;actualité musicale sur Europe 1 Voir leur Facebook Voir leur Instagram Voir leur site web Chaque week-end dans « Dis-moi ce que tu [&#8230;]</p>
<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-dis-moi-ce-que-tu-chantes/">🗣️ Podcast et Replay &#8211; Dis-moi ce que tu chantes de Didier Barbelivien &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="1094" class="elementor elementor-1094" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-dce457e e-con-full e-flex e-con e-parent" data-id="dce457e" data-element_type="container">
				<div class="elementor-element elementor-element-9f9be1c 1995 elementor-widget elementor-widget-html" data-id="9f9be1c" data-element_type="widget" id="1995" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<!DOCTYPE html><html><head><meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&amp;display=swap" rel="stylesheet">
<style>
    .rtl-podcast-player * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Roboto', sans-serif;
    }

  .rtl-podcast-player #pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
}

@keyframes gradientBG {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.rtl-podcast-player body {
    background: linear-gradient(-45deg, #0a192f, #172a45, #1a365d, #102235);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    min-height: 100vh;
    display: flex;
    align-items: center;
    color: #fff;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

    .rtl-podcast-player .container {
        display: grid;
        grid-template-columns: 1.2fr 2.8fr;
        gap: 20px;
        margin: 0 auto;
        padding: 50px 150px !important;
        width: 100%;
        background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
        background-size: 400% 400%;
        animation: gradientBG 15s ease infinite;
        border-radius: 0;
        box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);
    }


    @media (max-width: 1024px) {
        .rtl-podcast-player .container {
            padding: 30px 45px;
            grid-template-columns: 1fr 2fr;
        }
        
        .rtl-podcast-player h1 {
            font-size: 2em;
        }
    }


    @media (max-width: 768px) {
        .rtl-podcast-player .container {
            padding: 20px !important; /* Override padding */
            margin: 0 !important; /* Reset margin */
            width: 100% !important;
            max-width: 100% !important;
            grid-template-columns: 1fr;
            overflow-x: hidden; /* Prevent horizontal scroll */
        }
        
        .rtl-podcast-player #episode-grid,
        .rtl-podcast-player .episode,
        .rtl-podcast-player #featured-episode,
        .rtl-podcast-player .host-biography,
        .rtl-podcast-player .social-share-buttons {
            width: 100% !important;
            margin-left: auto !important;
            margin-right: auto !important;
            padding: 15px !important;
        }
        
        .rtl-podcast-player h1,
        .rtl-podcast-player h2,
        .rtl-podcast-player p {
            padding-left: 10px !important;
            padding-right: 10px !important;
            text-align: center;
        }

        .rtl-podcast-player #episode-grid {
            grid-template-columns: 1fr !important; /* Force single column */
            gap: 20px;
        }
        
        .rtl-podcast-player .episode {
            width: 100% !important;
            margin: 0 auto !important;
        }
    }


@media (max-width: 480px) {
    .rtl-podcast-player .container {
        padding: 10px !important;
    }
    
    .rtl-podcast-player #featured-episode,
    .rtl-podcast-player .episode {
        padding: 15px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }
}

.rtl-podcast-player h1 {
    color: #00ffff;
    text-align: center;
    font-size: 2.3em;
    margin-bottom: 40px;
    font-weight: 700;
    width: 100%;
    grid-column: 1 / -1;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.3);
}

  #fixed-player-bar {
        display: flex;               /* Assure l'affichage en flex */
        flex-direction: column;       /* Organisation en colonne */
        align-items: center;          /* Centre les éléments */
        padding: 10px;
        gap: 10px;                    /* Espace entre chaque ligne */
        background: rgba(26, 26, 26, 0.95); /* Conserve l’arrière-plan */
        display: none;                /* Masqué par défaut */
    }

    /* Ligne 1 : Titre de l'épisode */
    #fixed-player-title {
        display: block;               /* Force l'affichage sur une ligne complète */
        text-align: center;
        font-size: 1.2em;
        color: #00ffff;
        width: 100%;                  /* Prend la largeur complète */
    }

    /* Ligne 2 : Player audio */
    #fixed-player-audio {
        display: block;               /* Force l'affichage sur une ligne complète */
        width: 100%;
    }

    /* Ligne 3 : Conteneur pour les boutons Chromecast et fermeture */
    .audio-controls-container {
        display: flex;
        justify-content: center;
        gap: 20px;
        width: 100%;                  /* Assure une disposition sur toute la largeur */
    }

    /* Styles des boutons */
    #chromecast-button, #close-fixed-player {
        width: 40px;
        height: 40px;
        border: none;
        cursor: pointer;
    }
}

  @media (max-width: 768px) {
    .rtl-podcast-player h1 {
        margin-top: 0px !important; /* Ajustez la valeur selon vos besoins */
    }
}
  
.rtl-podcast-player #featured-episode {
    /* Remplacer ces styles */
    display: flex;
    flex-direction: column;
    height: 100%; /* Ajout de cette ligne */
    padding: 30px;
    border-radius: 15px;
    background-color: transparent;
    color: #ffffff;
    transition: all 0.3s ease;
}

.rtl-podcast-player #featured-episode:hover {
    transform: translateY(-5px);
}

.rtl-podcast-player #featured-episode h3 {
    color: #00ffff;
    margin-bottom: 15px;
    font-weight: 500;
}

.rtl-podcast-player #featured-episode button, .rtl-podcast-player .episode button {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    padding: 0;
    background-image: url('https://static.vecteezy.com/system/resources/thumbnails/017/196/540/small/3d-play-button-icon-transparent-background-free-png.png');
    background-size: 35px;
    background-position: center;
    background-repeat: no-repeat;
    font-size: 0;
    position: relative;
}

    .rtl-podcast-player .date-badge {
        background: rgba(0, 255, 255, 0.1);
        border: 2px solid #00ffff;
        border-radius: 8px;
        padding: 8px 15px;
        color: #00ffff;
        font-weight: bold;
        text-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
        box-shadow: 
            0 0 5px rgba(0, 255, 255, 0.2),
            0 0 10px rgba(0, 255, 255, 0.2),
            0 0 15px rgba(0, 255, 255, 0.2),
            0 0 20px rgba(0, 255, 255, 0.2);
        animation: neonPulse 1.5s ease-in-out infinite;
        margin: 15px auto 20px auto; /* Increased bottom margin */
        display: block; /* Changed from inline-block to block */
        width: fit-content;
    }

    @keyframes neonPulse {
        0%, 100% {
            box-shadow: 
                0 0 5px rgba(0, 255, 255, 0.2),
                0 0 10px rgba(0, 255, 255, 0.2),
                0 0 15px rgba(0, 255, 255, 0.2),
                0 0 20px rgba(0, 255, 255, 0.2);
        }
        50% {
            box-shadow: 
                0 0 10px rgba(0, 255, 255, 0.4),
                0 0 20px rgba(0, 255, 255, 0.4),
                0 0 30px rgba(0, 255, 255, 0.4),
                0 0 40px rgba(0, 255, 255, 0.4);
        }
    }


.rtl-podcast-player #featured-episode img,
.rtl-podcast-player .episode img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .modal-content img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .episode button:hover::after,
.rtl-podcast-player #featured-episode button:hover::after {
    content: "Ecouter ce podcast";
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap;
    z-index: 1000;
}

.rtl-podcast-player #featured-episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #episode-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

    .rtl-podcast-player .episode {
        padding: 20px;
        border-radius: 15px;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.1);
        text-align: center;
        background-color: #1a1a1a;
        transition: all 0.3s ease;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .rtl-podcast-player .episode p {
        color: #ffffff;
    }


.rtl-podcast-player .episode:hover {
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);
    transform: translateY(-3px);
}

.rtl-podcast-player .episode h5 {
    margin-bottom: 10px;
    color: #00ffff;
}

.rtl-podcast-player .episode a {
    color: #00ffff;
    text-decoration: none;
}

    .rtl-podcast-player .episode button:hover {
        background-color: #00cccc;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }
    
    .search-filter-container {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        margin-bottom: 30px;
        width: 100%;
    }

    .search-filter-container input,
    .search-filter-container select {
        padding: 10px 15px;
        border: 2px solid #00ffff;
        border-radius: 8px;
        background: rgba(0, 0, 0, 0.3);
        color: #fff;
        font-size: 16px;
        width: 200px;
    }

    .search-filter-container input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }

    .search-filter-container input:focus,
    .search-filter-container select:focus {
        outline: none;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
    }

    .search-filter-container select {
        cursor: pointer;
    }

    .search-filter-container select option {
        background-color: #1a1a1a;
        color: #fff;
    }

    @media (max-width: 768px) {
        .search-filter-container {
            flex-direction: column;
            gap: 10px;
        }

        .search-filter-container input,
        .search-filter-container select {
            width: 100%;
            max-width: 300px;
        }
    }

    color: #000;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-top: 10px; /* Add space above button */
    display: block; /* Ensure block-level display */
    margin-left: auto;
    margin-right: auto;
}

.rtl-podcast-player .episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player .pagination {
    text-align: center !important;
    margin-top: 30px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
}

  .rtl-podcast-player #page-numbers {
    display: flex !important;
    gap: 5px !important;
    margin: 0 5px !important;
}
  
.rtl-podcast-player .pagination button,
.rtl-podcast-player .pagination #prev-btn,
.rtl-podcast-player .pagination #next-btn {
    margin: 0 !important;  /* Changé de 5px à 0 */
    padding: 8px 16px;
    font-size: 1em;
    background-color: #1a1a1a;
    color: #00ffff;
    border: 1px solid #00ffff;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rtl-podcast-player .pagination button:hover {
    background-color: #00ffff;
    color: #000;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
}

.rtl-podcast-player .modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
}

.rtl-podcast-player .modal-content {
    background-color: #1a1a1a;
    padding: 40px;
    border: 2px solid #00ffff;
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: auto;
    color: white;
}

.rtl-podcast-player .close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: #00ffff;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
}

.rtl-podcast-player .close:hover {
    color: #00cccc;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #chromecast-button {
    background-color: #00ffff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    color: #000;
    margin-top: 20px;
    font-weight: bold;
    display: inline-block;
}

.rtl-podcast-player audio::-webkit-media-controls-panel {
    background-color: #2a2a2a;
}

.rtl-podcast-player audio::-webkit-media-controls-current-time-display,
.rtl-podcast-player audio::-webkit-media-controls-time-remaining-display {
    color: #000000;
}

.rtl-podcast-player #fixed-player-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(26, 26, 26, 0.95);
    backdrop-filter: blur(10px);
    padding: 10px 20px;
    z-index: 999;
    border-top: 2px solid #00ffff;
}

.rtl-podcast-player .fixed-player-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    gap: 20px;
}


.rtl-podcast-player #fixed-player-title {
    color: #00ffff;
    font-size: 1em;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.rtl-podcast-player #fixed-player-audio {
    flex: 2;
    max-width: 500px;
}

.episode-card {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(0, 255, 255, 0.3);
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.episode-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 255, 255, 0.2);
}

.episode-card img {
    width: 100%;
    max-width: 200px;
    border-radius: 10px;
    margin: 10px 0;
}

.episode-card button {
    margin-top: 10px;
}
  
/* Conserve les styles des boutons play et mute */
audio::-webkit-media-controls-play-button,
audio::-webkit-media-controls-mute-button {
    background-color: #40E0D0 !important; /* Bleu turquoise */
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
}

audio::-webkit-media-controls-play-button:hover,
audio::-webkit-media-controls-mute-button:hover {
    background-color: #5FECEC !important; /* Bleu turquoise plus clair au survol */
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5) !important;
}

/* Tentative pour changer la couleur du trait de progression */
audio::-webkit-media-controls-timeline {
    color: #a6a6a6 !important; /* Essaye de cibler le trait turquoise */
}

/* Modifie la couleur des trois petits points */
audio::-webkit-media-controls-panel {
    background-color: transparent !important; /* Assure que le fond ne prend pas de couleur */
    color: #40E0D0 !important; /* Forcer la couleur turquoise pour les trois points */
}

/* Tentative supplémentaire pour cibler le trait du curseur de progression */
audio::-webkit-slider-runnable-track {
    background-color: #40E0D0 !important; /* Bleu turquoise pour la piste */
}

audio::-webkit-slider-thumb {
    background-color: #a6a6a6 !important; /* Plus clair pour le curseur lui-même */
}


@media (max-width: 768px) {
    .rtl-podcast-player .fixed-player-content {
        flex-direction: column;
        gap: 10px;
        padding: 15px;
    }

    .rtl-podcast-player #fixed-player-audio {
        width: 100%;
        max-width: 100%;
    }

    .rtl-podcast-player #fixed-player-title {
        width: 100%;
        text-align: center;
        font-size: 0.9em;
    }
}

.rtl-podcast-player .social-button {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease-in-out;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.rtl-podcast-player .social-button:hover {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .rtl-podcast-player .social-share-buttons {
        gap: 10px;
    }
    
    .rtl-podcast-player .social-button {
        width: 40px;
        height: 40px;
    }
    
    .rtl-podcast-player .social-button svg {
        width: 20px;
        height: 20px;
    }
}

.navigation-buttons {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    pointer-events: none;
    z-index: 1000;
}

.nav-button {
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid #00ffff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    pointer-events: auto;
}  

.nav-button:hover {
    background: rgba(0, 255, 255, 0.2);
    transform: scale(1.1);
}

.nav-button svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 768px) {
    .nav-button {
        width: 35px;
        height: 35px;
    }
    
    .nav-button svg {
        width: 20px;
        height: 20px;
    }
}
</style>
<script type="text/javascript" src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js"></script>

</head><body>
<div class="rtl-podcast-player">
    <div class="container" style="background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    border-radius: 0; /* Changed from 20px to 0 */
    box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);">
    <h1 style="color: #00ffff; text-align: center; font-size: 2.1em; margin-bottom: 40px; font-weight: 700; width: 100%; grid-column: 1 / -1; text-shadow: 0 0 10px rgba(0, 255, 255, 0.3); padding: 0 15px; display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap;">
Dis moi ce que tu chantes animé par Didier Barbelivien - Écoutez tous les podcasts Europe 1 en rediffusion
<img decoding="async" src="https://cdn-europe1.lanmedia.fr/var/europe1/storage/images/europe1/animateurs/europe-12/53472641-3-fre-FR/Europe-1.png" alt="Logo Europe 1" style="width: 60px; height: 60px; border-radius: 50%; padding: 5px; background: white; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);">
</h1>
    <div class="social-share-buttons" style="display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 30px; width: 100%; grid-column: 1 / -1;">
    <button onclick="shareOnX()" class="social-button" style="background-color: #000;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path>
        </svg>
    </button>
    <button onclick="shareOnWhatsapp()" class="social-button" style="background-color: #25D366;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"></path>
        </svg>
    </button>
    <button onclick="shareOnFacebook()" class="social-button" style="background-color: #1877F2;">  
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path>
        </svg>
    </button>
    <button onclick="shareOnLinkedIn()" class="social-button" style="background-color: #0A66C2;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path>
        </svg>
    </button>
</div>
      
    <div id="featured-episode" style="display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: space-between; gap: 20px; height: 100%; position: relative; padding-top: 20px; cursor: pointer;">
  <div class="features-episode" style="width: 100%; height: 100%;">
    <!-- Première carte (dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
            
    <!-- Deuxième carte (avant-dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
  </div>
</div>
    <div>
    <div class="search-filter-container">
        <input type="text" id="podcast-search" placeholder="Rechercher un podcast..." oninput="filterAndDisplayEpisodes()">
        <select id="podcast-filter" onchange="filterAndDisplayEpisodes()">
            <option value="newest">Plus récents</option>
            <option value="oldest">Plus anciens</option>
        </select>
    </div>
    <div id="episode-grid">
        <style>
            .episode {
                cursor: pointer;
            }
            
            .episode > * {
                pointer-events: none;
            }
            
            .episode button {
                pointer-events: auto;
            }
        </style>
    </div>
    <div class="pagination" id="pagination">
    <button id="prev-btn" onclick="changePage('prev')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M15 18l-6-6 6-6"></path>
        </svg>
    </button>
    <span id="page-numbers"></span>
    <button id="next-btn" onclick="changePage('next')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M9 18l6-6-6-6"></path>
        </svg>
    </button>
</div>

      <div class="ad-banner" style="width: 100%; max-width: 508px; margin: 20px auto; text-align: center; grid-column: 1 / -1; background: rgba(0,0,0,0.3); padding: 15px; border-radius: 10px; border: 1px solid rgba(0, 255, 255, 0.2); transition: transform 0.3s ease;">
    <p style="color: #666; font-size: 12px; margin-bottom: 10px;">Publicité</p>
    <a href="https://universal-academy.com/recruter-des-alternants-dans-le-tourisme/" target="_blank" style="display: inline-block;">
        <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/Design-sans-titre-2024-11-06T134332.299.webp" alt="Bannière publicitaire RTL" style="width: 100%; max-width: 700px; height: auto; border-radius: 8px; transition: transform 0.3s ease;" onmouseover="this.style.transform='scale(1.02)'" onmouseout="this.style.transform='scale(1)'">
    </a>
</div>

    <script>
        // Ajouter un event listener pour les cartes d'épisodes
        document.getElementById('episode-grid').addEventListener('click', (e) => {
            const episodeCard = e.target.closest('.episode');
            if (episodeCard) {
                // Trouver le bouton dans la carte et simuler un clic dessus
                const button = episodeCard.querySelector('button');
                if (button) {
                    button.click();
                }
            }
        });
    </script>
</div>
    
    <div class="host-biography" style="grid-column: 1 / -1; background: rgba(0, 0, 0, 0.3); padding: 30px; border-radius: 15px; margin-top: 30px; border: 1px solid rgba(0, 255, 255, 0.2);">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
        <!-- Media query pour passer en une colonne sur mobile -->
        <style>
            @media (max-width: 768px) {
                .host-biography > div {
                    grid-template-columns: 1fr !important;
                }
            }
        </style>

      <div class="host-biography" style="grid-column: 1 / -1; padding: 30px; border-radius: 15px; margin-top: 30px;">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
      <div style="grid-column: 1 / -1; margin-bottom: 30px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">Dis moi ce que tu chantes - Didier Barbelivien décrypte l'actualité musicale sur Europe 1</h2>

    <!-- Nouveaux boutons de réseaux sociaux -->
    <div style="display: flex; justify-content: center; align-items: center; gap: 20px; margin: 20px 0;">
        <a href="https://www.facebook.com/Europe1/?locale=fr_FR" target="_blank" style="position: relative; width: 50px; height: 50px; background: #1877F2; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Facebook</span>
</a>

        <a href="https://www.instagram.com/europe1/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #E4405F; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Instagram</span>
</a>

        <a href="https://www.europe1.fr/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #00ffff; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#000000">
        <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur site web</span>
</a>
    </div>

    <style>
        /* Hover effects pour les boutons */
        .host-biography a:hover {
            transform: scale(1.1);
            box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
        }
        
        .host-biography a:hover span {
            opacity: 1;
        }

        /* Media queries pour le responsive */
        @media (max-width: 768px) {
            .host-biography div[style*="display: flex"] {
                flex-wrap: wrap;
                justify-content: center;
                gap: 15px;
            }
        }
    </style>

    <p style="color: #ffffff; line-height: 1.6; text-align: center; max-width: 1200px; margin: 0 auto;">
    Chaque week-end dans "Dis-moi ce que tu chantes", Didier Barbelivien vous fait découvrir l'actualité musicale avec passion et expertise. Cette émission d'Europe 1 est devenue un rendez-vous incontournable pour les amoureux de la musique. À travers des interviews d'artistes, des analyses de chansons et des discussions passionnantes, Didier Barbelivien partage sa passion pour la musique et met en lumière les nouveautés du monde musical. Son approche accessible et son analyse fine permettent aux auditeurs de découvrir des œuvres variées, des grands classiques de la chanson française aux nouveaux talents émergents. En conjuguant culture musicale et divertissement, "Dis-moi ce que tu chantes" offre un espace unique où la musique se dévoile sous toutes ses formes, enrichissant ainsi notre compréhension du paysage musical contemporain et classique.
</p>
    
    <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 30px; padding: 20px;">
        <!-- Les 6 cartes existantes restent inchangées -->
        <!-- Carte 1 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M3 18v-6a9 9 0 0 1 18 0v6"></path>
                <path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"></path>
            </svg>
            <p style="color: #ffffff; margin: 0;">Écouter gratuitement tous les podcasts en streaming</p>
        </div>

        <!-- Carte 2 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                <polyline points="7 10 12 15 17 10"></polyline>
                <line x1="12" y1="15" x2="12" y2="3"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Télécharger les épisodes pour une écoute hors-ligne</p>
        </div>

        <!-- Carte 3 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"></path>
                <line x1="2" y1="20" x2="2" y2="20"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Diffuser sur votre Chromecast ou appareil compatible</p>
        </div>

        <!-- Carte 4 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <polygon points="10 8 16 12 10 16 10 8"></polygon>
            </svg>
            <p style="color: #ffffff; margin: 0;">Accéder à toutes les rediffusions des émissions précédentes</p>
        </div>

        <!-- Carte 5 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
        <circle cx="9" cy="7" r="4"></circle>
        <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
        <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Découvrez "Dis-moi ce que tu chantes", l'émission musicale d'Europe 1 animée par Didier Barbelivien. Il explore l'actualité de la musique avec des artistes et propose des analyses passionnantes de leurs chansons.</p>
</div>

        <!-- Carte 6 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px; position: relative;" onmouseover="this.style.transform='translateY(-5px)'; document.getElementById('live-tooltip').style.opacity='1'" onmouseout="this.style.transform='translateY(0)'; document.getElementById('live-tooltip').style.opacity='0'" onclick="window.location.href='https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/'">
    <div id="live-tooltip" style="position: absolute; top: -40px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); color: #fff; padding: 8px 15px; border-radius: 5px; font-size: 14px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; border: 1px solid #00ffff; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">
        Cliquez pour écouter en direct "Europe 1 13h"
    </div>
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M4 12h1"></path>
        <path d="M9 12h1"></path>
        <path d="M14 12h1"></path>
        <path d="M19 12h1"></path>
        <rect x="2" y="8" width="20" height="12" rx="2"></rect>
        <path d="M6 8V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4"></path>
        <circle cx="12" cy="14" r="4"></circle>
        <path d="M12 10v8"></path>
        <path d="M8 14h8"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Ou écouter en direct "Dis moi ce que tu chantes" sur Europe 1, l'émission musicale animée par Didier Barbelivien qui vous fait découvrir toute l'actualité de la musique à travers des interviews d'artistes et des analyses passionnantes de chansons</p>
    <p style="color: #00ffff; margin-top: 10px; font-weight: bold; font-size: 0.8em;">
    17H00 - 18H00 : Dimanche
</p>
</div>
    </div>
</div>
        
        <!-- Histoire de l'émission -->
        <div style="padding: 20px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">L'Histoire de "Dis moi ce que tu chantes" sur Europe 1</h2>
    <p style="color: #ffffff; line-height: 1.6; text-align: center;">
        "Dis moi ce que tu chantes" est l'émission musicale phare d'Europe 1 animée par Didier Barbelivien. Chaque dimanche, cette émission culturelle incontournable propose aux auditeurs une plongée passionnante dans l'actualité musicale, mêlant interviews d'artistes, analyses de chansons et découvertes musicales.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        Diffusée le dimanche de 18h à 19h, l'émission offre un espace privilégié où la musique se dévoile sous toutes ses formes. Didier Barbelivien, avec son expertise d'auteur-compositeur et sa passion communicative pour la musique, guide les auditeurs à travers les nouveautés musicales et les grands moments de la chanson française.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        L'émission s'est imposée comme un rendez-vous culturel majeur grâce à son format dynamique et sa capacité à rendre la musique accessible à tous. À travers des rencontres privilégiées avec les artistes, des analyses pertinentes et des échanges enrichissants, "Dis moi ce que tu chantes" offre chaque semaine une expérience radiophonique unique qui célèbre la richesse et la diversité du monde musical.
    </p>
    <div style="margin-top: 30px;">
        <img decoding="async" src="https://cdn-europe1.lanmedia.fr/var/europe1/storage/images/europe1/emissions/dis-moi-ce-que-tu-chantes/57531069-3-fre-FR/Dis-moi-ce-que-tu-chantes.jpg" alt="Dis moi ce que tu chantes" style="width: 96%; max-width: 360px; height: auto; border-radius: 15px; object-fit: cover;">
    </div>
</div>

        <!-- Biographie de Laurent Ruquier -->
        <div style="display: flex; flex-direction: column; align-items: center; gap: 20px;">
    <div style="width: 200px; height: 200px; border-radius: 50%; overflow: hidden; border: 3px solid #00ffff;">
        <img decoding="async" src="https://barbelivien.com/wp-content/uploads/2023/02/MR-7887.jpg" alt="Portrait de Nicolas Carreau, style professionnel" style="width: 100%; height: 100%; object-fit: cover;">
    </div>
    <div style="text-align: center;">
        <h2 style="color: #00ffff; margin-bottom: 20px;">Didier Barbelivien - Le passionné de musique d'Europe 1</h2>
        <p style="color: #ffffff; line-height: 1.8;">
Didier Barbelivien est une figure emblématique de la chanson française qui anime avec passion "Dis-moi ce que tu chantes" sur Europe 1. Chaque dimanche, il partage son amour de la musique avec les auditeurs à travers une émission riche en découvertes et en analyses musicales.

Fort de son expérience d'auteur-compositeur-interprète, Didier Barbelivien apporte une expertise unique dans son approche des chansons. Ses interviews d'artistes sont empreintes de sa profonde connaissance du métier et de sa sensibilité artistique, offrant aux auditeurs un regard à la fois professionnel et passionné sur la musique.

Dans "Dis-moi ce que tu chantes", il excelle particulièrement dans l'art de décrypter les chansons, d'en révéler les subtilités et d'en partager les histoires cachées. Son approche à la fois experte et accessible permet aux auditeurs de découvrir ou redécouvrir la richesse de la musique sous un angle toujours renouvelé.

Son style d'animation, chaleureux et authentique, a contribué à faire de "Dis-moi ce que tu chantes" un rendez-vous hebdomadaire incontournable pour les amateurs de musique. Sa capacité à créer un véritable dialogue entre les artistes et les auditeurs fait de chaque émission un moment privilégié de partage et de découverte musicale. Sa longue carrière dans la musique française et son talent d'auteur-compositeur apportent une dimension unique à ses analyses et ses entretiens.
        </p>
    </div>
</div>

        <!-- Sources (span across both columns) -->
        <div style="grid-column: 1 / -1; margin-top: 20px; padding: 15px; background: rgba(0, 0, 0, 0.2); border-radius: 10px; text-align: center;">
    <h3 style="color: #00ffff; margin-bottom: 10px; font-size: 1.2em;">Sources :</h3>
    <ul style="list-style: none; padding: 0; text-align: center; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
        <li>
            <a href="https://fr.wikipedia.org/wiki/Didier_Barbelivien" target="_blank" style="color: #00ffff; text-decoration: none; transition: all 0.3s; padding: 5px 10px; border-radius: 5px; display: inline-block; &amp;:hover { background: rgba(0, 255, 255, 0.1); transform: translateY(-2px); box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); }">• Biographie Didier Barbelivien</a>
        </li>
    </ul>
</div>
    </div>
</div>

</div>

    <div id="player-modal" class="modal">
        <div class="modal-content">
    <span class="close" onclick="closeModal()">×</span>
    <div class="navigation-buttons">
        <button id="prev-episode" onclick="navigateEpisode('prev')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M15 18l-6-6 6-6"></path>
            </svg>
        </button>
        <button id="next-episode" onclick="navigateEpisode('next')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M9 18l6-6-6-6"></path>
            </svg>
        </button>
    </div>
    <div id="player-content">
    <style>
        /* Styles existants */
        .modal-content {
            background-color: #1a1a1a;
            padding: 40px;
            border: 2px solid #00ffff;
            width: 90%;
            max-width: 500px;
            max-height: 90vh;
            border-radius: 20px;
            text-align: center;
            box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
            position: fixed; /* Changé de absolute à fixed */
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) !important; /* Ajout de !important */
            overflow-y: auto;
            color: white;
        }

        /* Change la couleur du timing en noir */
        audio::-webkit-media-controls-time-display {
            color: #000000 !important;
        }

        /* Ajout de media queries pour le mobile */
        @media (max-width: 768px) {
            .modal-content {
                padding: 30px;
                width: 95%;
                margin: 0 auto;
                position: fixed;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%) !important;
            }
        }

        @media (max-height: 600px) {
            .modal-content {
                max-height: 85vh;
            }
        }
    </style>
</div>
    <button id="chromecast-button" onclick="startChromecast()" style="width: 60px; height: 60px; border-radius: 50%; padding: 0; background-image: url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png'); background-size: 35px; background-position: center; background-repeat: no-repeat; font-size: 0;"></button>
</div>
    </div>

    <div id="fixed-player-bar" class="rtl-podcast-player" style="display: none;">
    <div class="fixed-player-content">
        <h3 id="fixed-player-title"></h3>
        <div class="audio-controls-container" style="display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%; max-width: 800px; margin: 0 auto;">
            <audio id="fixed-player-audio" controls="">
                <source src="" type="audio/mpeg">
            </audio>
            <button onclick="startChromecast()" style="width: 40px; height: 40px; min-width: 40px; border-radius: 50%; padding: 0; background: #ffffff url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png') center/25px no-repeat; border: 2px solid #00ffff; font-size: 0; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">Cast to Chromecast</button>
            <button id="close-fixed-player" onclick="closeFixedPlayer()" style="background: none; border: none; color: #00ffff; font-size: 24px; cursor: pointer; padding: 5px; min-width: 24px; display: flex; align-items: center; justify-content: center;">×</button>
        </div>
    </div>
</div>

    <script>
    (function RTLPodcastPlayer() {
        // Initialize cast api
        window.__onGCastApiAvailable = function(isAvailable) {
            if (!isAvailable) return;

            const initializeCastApi = function() {
                const sessionRequest = new chrome.cast.SessionRequest(chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);
                const apiConfig = new chrome.cast.ApiConfig(
                    sessionRequest,
                    sessionListener,
                    receiverListener
                );
                chrome.cast.initialize(apiConfig, onInitSuccess, onError);
            };

            const sessionListener = function(session) {
                console.log('Session listener', session);
            };

            const receiverListener = function(availability) {
                console.log('Receiver listener', availability);
            };

            const onInitSuccess = function() {
                console.log('Cast initialization success');
            };

            const onError = function(error) {
                console.error('Cast initialization error', error);
            };

            if (!chrome.cast || !chrome.cast.isAvailable) {
                setTimeout(initializeCastApi, 1000);
            } else {
                initializeCastApi();
            }
        };

        const rssUrl = "https://www.europe1.fr/rss/podcasts/on-connait-la-musique-le-mag.xml";
        const proxyUrl = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(rssUrl)}&api_key=int3lqiwwrpnsvem6yki0mtwki2f4qcvcxtrlyea&count=200`;
        const episodesPerPage = 4;
        let currentPage = 1;
        let currentAudioUrl = '';
        let totalPages = 0;

        // Ajouter ces variables au début du script
        let currentEpisodeIndex = 0;
        let allEpisodes = [];
        let filteredEpisodes = [];

        fetch(proxyUrl)
            .then(response => response.json())
            .then(data => {
                if (data.status !== "ok") {
                    throw new Error("Erreur de chargement du flux RSS.");
                }
                allEpisodes = data.items;
                filteredEpisodes = [...allEpisodes];
                displayFeaturedEpisode(allEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(allEpisodes);
            })
            .catch(error => {
                document.getElementById("featured-episode").innerHTML = "<p>Impossible de charger le flux RSS. Veuillez réessayer plus tard.</p>";
            });

        function truncateDescription(description, maxLength = 180) {
    // Crée un élément temporaire pour décoder les entités HTML
    const tempElement = document.createElement("div");
    tempElement.innerHTML = description;
    
    // Récupère le texte brut de la description
    let plainText = tempElement.innerText || tempElement.textContent || '';

    // Tronque le texte si nécessaire
    if (plainText.length <= maxLength) return plainText.trim();
    return plainText.substring(0, maxLength).trim() + '...';
}

function displayFeaturedEpisode(episode) {
    const featuredEpisode = document.getElementById("featured-episode");
    
    // Créer le HTML pour les deux premières émissions
    featuredEpisode.innerHTML = `
    <div class="features-episode" style="width: 100%; height: 100%;">
        <!-- Première carte (dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[0].enclosure.link)}', '${sanitizeString(allEpisodes[0].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[0].title)}</h3>
            ${allEpisodes[0].thumbnail ? `<img decoding="async" src="${allEpisodes[0].thumbnail}" alt="Image de la dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[0].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[0].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
        
        <!-- Deuxième carte (avant-dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[1].enclosure.link)}', '${sanitizeString(allEpisodes[1].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[1].title)}</h3>
            ${allEpisodes[1].thumbnail ? `<img decoding="async" src="${allEpisodes[1].thumbnail}" alt="Image de l'avant-dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[1].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[1].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
    </div>
    `;
}

function displayEpisodes(page, episodes) {
    const episodeGrid = document.getElementById("episode-grid");
    episodeGrid.innerHTML = "";
    const episodesWithoutFeatured = episodes.slice(2);
    const start = (page - 1) * episodesPerPage;  
    const end = start + episodesPerPage;
    
    episodesWithoutFeatured.slice(start, end).forEach(item => {
        // IMPORTANT : Encode les titres pour éviter les problèmes avec les apostrophes
        const encodedTitle = encodeURIComponent(item.title);
        const encodedUrl = encodeURIComponent(item.enclosure.link);
        
        episodeGrid.innerHTML += `
    <div class="episode">
        <h5 style="color: #00ffff;">${sanitizeString(item.title)}</h5>
        ${item.thumbnail ? `<img decoding="async" src="${item.thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 150px;">` : ""}
        <div class="description" style="color: white;">${truncateDescription(item.description)}</div>
        <div class="date-badge">
            ${new Date(item.pubDate).toLocaleDateString('fr-FR', {
                day: '2-digit',
                month: '2-digit',
                year: '2-digit'
            })}
        </div>
        <button onclick="openModal('${sanitizeString(item.enclosure.link)}', '${sanitizeString(item.title)}')"></button>
    </div>
`;
    });
    updatePaginationButtons();
}

        function setupPagination(episodes) {
    // Soustrait les 2 épisodes featured au lieu d'un seul
    totalPages = Math.ceil((episodes.length - 2) / episodesPerPage);
    const pageNumbers = document.getElementById("page-numbers");
    pageNumbers.innerHTML = "";

    // Calcule quels numéros afficher
    let start = currentPage;
    if (currentPage === totalPages) {
        start = totalPages - 2;
    } else if (currentPage === 1) {
        start = 1;
    } else {
        start = currentPage - 1;
    }

    // S'assure que start n'est jamais inférieur à 1
    start = Math.max(1, start);
    
    // Affiche 3 boutons à partir de start
    for (let i = start; i < start + 3 && i <= totalPages; i++) {
        const button = document.createElement("button");
        button.textContent = i;
        button.addEventListener("click", () => {
            currentPage = i;
            displayEpisodes(currentPage, episodes);
            setupPagination(episodes); // Important : rafraîchit la pagination
        });
        pageNumbers.appendChild(button);
    }

    // Réactive la fonctionnalité des boutons précédent/suivant
    window.changePage = function(direction) {
        if (direction === 'prev' && currentPage > 1) {
            currentPage--;
        } else if (direction === 'next' && currentPage < totalPages) {
            currentPage++;
        }
        displayEpisodes(currentPage, filteredEpisodes);
        setupPagination(episodes); // Rafraîchit la pagination
        updatePaginationButtons();
    }

    updatePaginationButtons();
}

        function updatePaginationButtons() {
            const prevBtn = document.getElementById('prev-btn');
            const nextBtn = document.getElementById('next-btn');
            
            prevBtn.disabled = currentPage === 1;
            nextBtn.disabled = currentPage === totalPages;
            
            prevBtn.style.opacity = currentPage === 1 ? '0.5' : '1';
            nextBtn.style.opacity = currentPage === totalPages ? '0.5' : '1';
            
            const pageButtons = document.querySelectorAll('#page-numbers button');
            pageButtons.forEach((button, index) => {
                if (index + 1 === currentPage) {
                    button.style.backgroundColor = '#00ffff';
                    button.style.color = '#000';
                } else {
                    button.style.backgroundColor = '#1a1a1a';
                    button.style.color = '#00ffff';
                }
            });
        }

        window.openModal = function(audioUrl, title) {
            const playerContent = document.getElementById("player-content");
            
            // Find the episode data from allEpisodes based on the audioUrl
            const currentEpisode = allEpisodes.find(ep => ep.enclosure.link === audioUrl);
            
            // Get the thumbnail from the episode data directly
            const thumbnail = currentEpisode?.thumbnail;

            // Trouve l'index de l'épisode actuel
            currentEpisodeIndex = allEpisodes.findIndex(ep => ep.enclosure.link === audioUrl);
            
            playerContent.innerHTML = `
                <h2>${title}</h2>
                ${thumbnail ? `<img decoding="async" src="${thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 300px; margin: 15px 0;">` : ''}
                <audio controls style="width: 100%; margin-top: 10px;" id="modal-audio">
                    <source src="${audioUrl}" type="audio/mpeg">
                    Votre navigateur ne supporte pas la lecture audio.
                </audio>
            `;
            
            // Mise à jour de la visibilité des boutons de navigation
            updateNavigationButtons();
            
            currentAudioUrl = audioUrl;
            document.getElementById("player-modal").style.display = "block";
            
            // Store current title for fixed player
            window.currentEpisodeTitle = title;
            
            // Setup audio element for fixed player
            const modalAudio = document.getElementById('modal-audio');
            modalAudio.addEventListener('play', () => {
                window.isPlaying = true;
            });
            modalAudio.addEventListener('pause', () => {
                window.isPlaying = false;
            });
        }

    window.navigateEpisode = function(direction) {
        let newIndex = direction === 'prev' ? currentEpisodeIndex - 1 : currentEpisodeIndex + 1;
        
        if (newIndex >= 0 && newIndex < allEpisodes.length) {
            const episode = allEpisodes[newIndex];
            openModal(episode.enclosure.link, episode.title);
        }
    }

      function sanitizeString(str) {
    return str.replace(/['"\\<>]/g, "");
}


    function updateNavigationButtons() {
        const prevButton = document.getElementById('prev-episode');
        const nextButton = document.getElementById('next-episode');
        
        prevButton.style.display = currentEpisodeIndex === 0 ? 'none' : 'flex';
        nextButton.style.display = currentEpisodeIndex === allEpisodes.length - 1 ? 'none' : 'flex';
    }

        window.closeModal = function() {
            const modalAudio = document.getElementById('modal-audio');
            const fixedPlayerBar = document.getElementById('fixed-player-bar');
            const fixedPlayerAudio = document.getElementById('fixed-player-audio');
            const fixedPlayerTitle = document.getElementById('fixed-player-title');
            
            if (window.isPlaying) {
                // Pause modal audio first
                modalAudio.pause();
                
                // Set up fixed player
                fixedPlayerBar.style.display = 'block';
                fixedPlayerTitle.textContent = window.currentEpisodeTitle;
                fixedPlayerAudio.src = currentAudioUrl;
                fixedPlayerAudio.currentTime = modalAudio.currentTime;
                fixedPlayerAudio.play();
            }
            
            document.getElementById("player-modal").style.display = "none";
        }

    // Add close fixed player function
    window.closeFixedPlayer = function() {
        const fixedPlayerBar = document.getElementById('fixed-player-bar');
        const fixedPlayerAudio = document.getElementById('fixed-player-audio');
        fixedPlayerAudio.pause();
        fixedPlayerBar.style.display = 'none';
    }

        window.startChromecast = function() {
            if (!chrome.cast || !chrome.cast.isAvailable) {
                console.log('Cast API not available');
                return;
            }

            chrome.cast.requestSession(
                function(session) {
                    if (currentAudioUrl) {
                        const mediaInfo = new chrome.cast.media.MediaInfo(currentAudioUrl, 'audio/mpeg');
                        mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();
                        mediaInfo.metadata.title = document.querySelector('#player-content h2').textContent;

                        const request = new chrome.cast.media.LoadRequest(mediaInfo);
                        session.loadMedia(request).then(
                            () => console.log('Lecture Chromecast démarrée'),
                            errorCode => console.error('Erreur Chromecast: ' + errorCode)
                        );
                    }
                },
                function(error) {
                    console.error('Erreur lors de la création de la session:', error);
                }
            );
        }

        window.shareOnX = function() {
            const text = "Écoutez les podcasts : Dis moi ce que tu chantes d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(text)}&url=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnWhatsapp = function() {
            const text = "Écoutez les podcasts : Dis moi ce que tu chantes d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://wa.me/?text=${encodeURIComponent(text + ' ' + url)}`, '_blank');
        };

        window.shareOnFacebook = function() {
          const text = "Écoutez les podcasts : Dis moi ce que tu chantes d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnLinkedIn = function() {
          const text = "Écoutez les podcasts : Dis moi ce que tu chantes d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(url)}`, '_blank');
        };

        window.filterAndDisplayEpisodes = function() {
            const searchTerm = document.getElementById('podcast-search').value.toLowerCase();
            const filterValue = document.getElementById('podcast-filter').value;
            
            // Filter episodes based on search term
            filteredEpisodes = allEpisodes.filter(episode => 
                episode.title.toLowerCase().includes(searchTerm) || 
                episode.description.toLowerCase().includes(searchTerm)
            );
            
            // Sort episodes based on filter value
            if (filterValue === 'oldest') {
                filteredEpisodes.sort((a, b) => new Date(a.pubDate) - new Date(b.pubDate));
            } else {
                filteredEpisodes.sort((a, b) => new Date(b.pubDate) - new Date(a.pubDate));
            }
            
            // Reset pagination to first page when filtering
            currentPage = 1;
            
            // Update display
            if (filteredEpisodes.length > 0) {
                displayFeaturedEpisode(filteredEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(filteredEpisodes);
            } else {
                // Handle no results
                document.getElementById('episode-grid').innerHTML = '<p style="color: #fff; text-align: center; grid-column: 1/-1;">Aucun résultat trouvé</p>';
                document.getElementById('page-numbers').innerHTML = '';
            }
        }
    })();
</script>
</div>
</div></div></body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-9e9820f e-con-full e-flex e-con e-parent" data-id="9e9820f" data-element_type="container">
				<div class="elementor-element elementor-element-d4246d5 elementor-widget elementor-widget-html" data-id="d4246d5" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<html><head><base>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  <style>
    .rs-carousel-section {
      padding: 50px 0; 
      background: linear-gradient(45deg, #1a1a1a, #2c2c2c, #0e4d4d);
      background-size: 400% 400%;
      animation: rs-gradientBG 15s ease infinite;
      color: #ffffff;
      font-family: 'Roboto', sans-serif;
      min-height: flex; 
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .rs-title {
      color: #00ffff;
      text-align: center;
      margin: 2rem 0;
      font-size: 2rem;
      text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-container {
      max-width: auto;
      width: 100%;
      position: relative;
      padding: 50px 150px; 
      box-sizing: border-box;
      overflow: hidden;
      margin: 0 auto; 
    }

    .rs-carousel {
      display: flex;
      overflow: hidden;
      scroll-behavior: smooth;
      gap: 20px;
      padding: 20px 0 0 0;
      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .rs-radio-card {
      min-width: 250px;
      flex: 0 0 250px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 15px;
      text-align: center;
      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
      border: 2px solid #00ffff;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);
      position: relative;
      overflow: hidden;
      transform-origin: center center;
      padding: 20px 15px; /* Add consistent padding */
    }

    .rs-radio-card.rs-scrolling {
      transform: scale(0.95) rotate(-2deg);
    }

    .rs-radio-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(0, 255, 255, 0.1), transparent);
      transition: 0.5s;
    }

    .rs-radio-card:hover::before {
      left: 100%;
    }

    .rs-radio-card:hover {
      transform: translateY(-5px) scale(1.02);
      box-shadow: 0 10px 30px rgba(0, 255, 255, 0.3);
      z-index: 1;
    }

    .rs-radio-logo {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      margin-bottom: 1rem;
      border: 3px solid #00ffff;
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);
      transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      cursor: pointer; /* Add cursor pointer to indicate interactivity */
    }

    .rs-radio-logo:hover {
      transform: rotateY(180deg) scale(1.15);
      border-color: #ff00ff;
      box-shadow: 
        0 0 25px rgba(0, 255, 255, 0.5),
        0 0 50px rgba(255, 0, 255, 0.3);
      animation: logoGlow 1.5s infinite alternate;
    }

    @keyframes logoGlow {
      0% {
        box-shadow: 0 0 25px rgba(0, 255, 255, 0.5),
                    0 0 50px rgba(255, 0, 255, 0.3);
      }
      100% {
        box-shadow: 0 0 35px rgba(0, 255, 255, 0.8),
                    0 0 70px rgba(255, 0, 255, 0.6);
      }
    }

    .rs-radio-name {
      font-size: 1.2rem; /* Reduced from 1.5rem */
      margin: 15px 0;
      color: #00ffff;
      transition: all 0.3s ease;
      position: relative; /* Added */
    }

    /* Add hover state for radio name span elements */
    .rs-radio-name span:first-child {
      display: inline-block;
      transition: opacity 0.3s ease;
    }

    .rs-radio-name span:last-child {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      opacity: 0;
      transition: opacity 0.3s ease;
      width: 100%;
    }

    .rs-radio-card:hover .rs-radio-name span:first-child {
      opacity: 0;
    }

    .rs-radio-card:hover .rs-radio-name span:last-child {
      opacity: 1;
    }

    .rs-listen-button {
      position: relative; /* Add this */
      background: #00ffff;
      color: #000;
      width: 60px;
      height: 60px;
      border: none;
      border-radius: 50%;
      font-size: 1.5rem;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      text-decoration: none;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 1rem auto;
      overflow: hidden;
    }

    .rs-listen-button:hover {
      background: #00cccc;
      transform: scale(1.1) rotate(360deg);
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.6);
    }

    .rs-listen-button::before {
      content: "Voir la webradio";
      position: absolute;
      bottom: -30px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(0, 255, 255, 0.9);
      color: #000;
      padding: 5px 10px;
      border-radius: 4px;
      font-size: 12px;
      white-space: nowrap;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
    }

    .rs-listen-button:hover::before {
      opacity: 1;
      visibility: visible;
      bottom: -35px;
    }

    .rs-listen-button:hover i {
      animation: rs-colorChange 2s infinite;
    }

    @keyframes rs-colorChange {
      0% { color: #ff0000; }
      20% { color: #ff7700; }
      40% { color: #ffff00; }
      60% { color: #00ff00; }
      80% { color: #0000ff; }
      100% { color: #ff0000; }
    }

    .rs-listen-button::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle, transparent 30%, rgba(255, 255, 255, 0.3) 70%);
      animation: rs-pulseGlow 2s infinite;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-listen-button:hover::after {
      opacity: 1;
    }

    @keyframes rs-pulseGlow {
      0% {
        transform: scale(0.95);
        opacity: 0.5;
      }
      50% {
        transform: scale(1.1);
        opacity: 0.2;
      }
      100% {
        transform: scale(0.95);
        opacity: 0.5;
      }
    }

    .rs-carousel-button {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0, 255, 255, 0.2);
      border: none;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #00ffff;
      font-size: 1.5rem;
      transition: all 0.3s ease;
      z-index: 2;
      overflow: hidden; /* Add this for ripple effect */
    }

    .rs-carousel-button:hover {
      background: rgba(0, 255, 255, 0.2);
      transform: translateY(-50%) scale(1.1);
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-button::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle at center, rgba(0, 255, 255, 0.8) 0%, transparent 70%);
      transform: scale(0);
      opacity: 0;
      transition: transform 0.5s ease-out, opacity 0.3s ease;
    }

    .rs-carousel-button:hover::before {
      transform: scale(2);
      opacity: 0.3;
    }

    .rs-carousel-button:hover i {
      animation: arrowBounce 0.5s ease infinite alternate;
    }

    @keyframes arrowBounce {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(3px);
      }
    }

    .rs-carousel-button.rs-prev:hover i {
      animation: arrowBounceLeft 0.5s ease infinite alternate;
    }

    @keyframes arrowBounceLeft {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(-3px);
      }
    }

    .rs-carousel-button.rs-prev {
      left: 0;
    }

    .rs-carousel-button.rs-next {
      right: 0;
    }

    @keyframes rs-floatingNotesCard {
      0% {
        opacity: 0;
        transform: translate(0, 0) rotate(0deg);
      }
      50% {
        opacity: 1;
      }
      100% {
        opacity: 0;
        transform: translate(-50px, -50px) rotate(360deg);
      }
    }

    .rs-card-notes {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-radio-card:hover .rs-card-notes {
      opacity: 1;
    }

    .rs-card-note {
      position: absolute;
      font-size: 20px;
      color: #00ffff;
      animation: rs-floatingNotesCard 2s ease-out infinite;
    }

    .rs-card-note-1 { top: 10%; left: 10%; animation-delay: 0s; }
    .rs-card-note-2 { top: 5%; left: 30%; animation-delay: 0.3s; }
    .rs-card-note-3 { top: 15%; left: 50%; animation-delay: 0.6s; }
    .rs-card-note-4 { top: 8%; left: 70%; animation-delay: 0.9s; }
    .rs-card-note-5 { top: 12%; left: 90%; animation-delay: 1.2s; }

    .rs-radio-tag {
      position: absolute;
      top: 10px;
      right: 10px;
      padding: 5px 12px;
      font-size: 0.8rem;
      border-radius: 15px;
      background: rgba(0, 0, 0, 0.7);
      color: #fff;
      border: 1px solid #00ffff;
      box-shadow: 0 0 5px #00ffff,
                  inset 0 0 5px #00ffff;
      text-transform: uppercase;
      letter-spacing: 1px;
      transition: all 0.3s ease;
      transform-style: preserve-3d;
      perspective: 1000px;
      cursor: pointer;
    }
    
    .rs-radio-tag i {
      margin-right: 5px;
      color: #00ffff;
      text-shadow: 0 0 5px #00ffff,
                   0 0 10px #00ffff,
                   0 0 15px #00ffff;
    }

    /* Add hover effects */
    .rs-radio-tag:hover {
      transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      box-shadow: 0 0 15px #00ffff,
                  inset 0 0 10px #00ffff,
                  0 10px 20px rgba(0, 255, 255, 0.4);
      background: rgba(0, 255, 255, 0.1);
      letter-spacing: 2px;
      animation: tagFloat 1s ease-in-out infinite alternate;
    }

    /* Add new keyframe animation */
    @keyframes tagFloat {
      0% {
        transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      }
      100% {
        transform: translateZ(30px) rotateX(15deg) rotateY(-15deg);
        text-shadow: 2px 2px 4px rgba(0, 255, 255, 0.6);
      }
    }

    /* Add before/after elements for 3D effect */
    .rs-radio-tag::before {
      content: '';
      position: absolute;
      inset: -2px;
      background: linear-gradient(45deg, transparent, rgba(0, 255, 255, 0.3), transparent);
      transform: translateZ(-1px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag::after {
      content: '';
      position: absolute;
      inset: -1px;
      background: linear-gradient(-45deg, transparent, rgba(0, 255, 255, 0.2), transparent);
      transform: translateZ(-2px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag:hover::before,
    .rs-radio-tag:hover::after {
      opacity: 1;
    }

    @keyframes rs-floatingNotes {
      0% {
        transform: translateY(0) rotate(0deg) scale(1);
        opacity: 0;
      }
      50% {
        transform: translateY(-20px) rotate(180deg) scale(1.2);
        opacity: 1;
      }
      100% {
        transform: translateY(-40px) rotate(360deg) scale(1);
        opacity: 0;
      }
    }

    @media (max-width: 768px) {
      .rs-carousel-section {
        padding: 30px 0;
      }
      .rs-carousel-container {
        padding: 15px 20px; 
      }
      .rs-radio-card {
        min-width: 250px !important; /* Reduced by 20% from original 312.5px */
        flex: 0 0 250px !important; /* Reduced by 20% from original 312.5px */
      }
      /* Content size reductions */
      .rs-radio-logo {
        width: 84px !important;
        height: 84px !important;
      }
      .rs-radio-name {
        font-size: 1rem !important;
      }
      .rs-listen-button {
        width: 48px;
        height: 48px;
      }
    }

    @media (max-width: 480px) {
      .rs-carousel-section {
        padding: 20px 0;
      }
      .rs-carousel-container {
        padding: 0 30px; 
      }
      .rs-radio-card {
        min-width: 200px !important; /* Further reduced by 20% from tablet size */
        flex: 0 0 200px !important; /* Further reduced by 20% from tablet size */
      }
      /* Further reduce content for smallest screens */
      .rs-radio-logo {
        width: 76px !important;
        height: 76px !important;
        margin: 8px auto 12px !important;
      }
      .rs-radio-name {
        font-size: 0.9rem !important;
      }
      .rs-listen-button {
        width: 40px;
        height: 40px;
      }
    }

    /* Add this CSS inside the existing <style> tag */
    .rs-all-podcasts-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 12px 24px;
      margin: 30px auto 20px;
      background: linear-gradient(45deg, #00ffff, #00cccc);
      border: none;
      border-radius: 25px;
      color: #000;
      font-size: 1rem;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.3s ease;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
      position: relative;
      overflow: hidden;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .rs-all-podcasts-btn:hover {
      transform: translateY(-2px) scale(1.05);
      box-shadow: 
        0 0 20px rgba(0, 255, 255, 0.5),
        0 0 40px rgba(0, 255, 255, 0.2);
    }

    .rs-all-podcasts-btn::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, transparent 65%);
      transform: scale(0);
      transition: transform 0.6s ease-out;
    }

    .rs-all-podcasts-btn:hover::before {
      transform: scale(1) rotate(45deg);
    }

    .rs-all-podcasts-btn i {
      font-size: 1.2rem;
      color: #000;
    }
  </style>
</head>
<body>
  <div class="rs-carousel-section" id="radiostreamr-carousel-section">
    <h2 class="rs-title" id="radiostreamr-title" style="font-size: 28px; animation: textGlow 2s infinite; text-shadow: 0 0 10px rgba(0, 255, 255, 0.5), 0 0 20px rgba(0, 255, 255, 0.3), 0 0 30px rgba(0, 255, 255, 0.2); position: relative; padding-left: 15px; padding-right: 15px;">
  Ecoutez les meilleurs podcasts de la chaine Europe 1 :
</h2>
    
    <div class="rs-carousel-container" id="radiostreamr-container">
      <button class="rs-carousel-button rs-prev" id="radiostreamr-prev-button">
        <i class="fas fa-chevron-left"></i>
      </button>
      
      <div class="rs-carousel" id="radiostreamr-carousel" style="gap: 25px;">

        <!-- Skyrock -->
        <div class="rs-radio-card" id="radiostreamr-card-hondelatte" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/hondelatte-raconte-podcast.webp" alt="Hondelatte raconte" class="rs-radio-logo" style="width: 105px; height: 105px; margin: 10px auto 15px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Histoire prenante</span>
          <h2 class="rs-radio-name">
            <span>Hondelatte raconte</span>
            <span>Podcasts Hondelatte raconte</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-hondelatte-raconte/" class="rs-listen-button" style="margin: 15px auto 10px;">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Oui FM -->
        <div class="rs-radio-card" id="radiostreamr-card-On-marche-sur-la-tête" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-podcast-on-marche-sur-la-tete-cyril-hanouna-radiostreamr.webp" alt="On marche sur la tête logo" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-laugh"></i>Humour</span>
          <h2 class="rs-radio-name">
            <span>On marche sur la tête</span>
            <span>Podcasts On marche sur la tête</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-on-marche-sur-la-tete/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- FIP -->
        <div class="rs-radio-card" id="radiostreamr-card-Europe-1-Matin" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-matin-podcast.webp" alt="FIP Radio" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Matin</span>
            <span>Podcasts Europe 1 Matin</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-matin/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
        
        <!-- Add after the FIP card and before RMC -->
        <div class="rs-radio-card" id="radiostreamr-card-le-grand-rendez-vous" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/0x1900-000000-80-0-0.webp" alt="Le grand rendez-vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Le Grand Rendez-vous</span>
            <span>Podcasts Le Grand Rendez-vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-le-grand-rendez-vous//" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-pascal-praud" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/pascal-praud-podcast.webp" alt="Pascal Praud et vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Pascal Praud et vous</span>
            <span>Podcasts Pascal Praud et vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-pascal-praud/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-cheriefm" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-logo-radio-en-ligne.webp" alt="Charlotte d'Ornellas - Les signatures d'Europe 1" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Chronique actualité</span>
          <h2 class="rs-radio-name">
            <span>Charlotte d'Ornellas</span>
            <span>Podcasts Charlotte d'Ornellas</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-chronique-charlotte-dornellas/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- La Libre Antenne -->
        <div class="rs-radio-card" id="radiostreamr-card-libre-antenne" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/libre-antenne.webp" alt="La Libre Antenne" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-comments"></i>Discussion</span>
          <h2 class="rs-radio-name">
            <span>La Libre Antenne</span>
            <span>Podcasts La Libre Antenne</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-olivier-delacroix/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Il n'y a qu'une vie dans la vie -->
        <div class="rs-radio-card" id="radiostreamr-card-isabelle-morizet" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/isabelle-morizet-podcast.webp" alt="Il n'y a qu'une vie dans la vie" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-friends"></i>Interview</span>
          <h2 class="rs-radio-name">
            <span>Il n'y a qu'une vie dans la vie</span>
            <span>Podcasts Isabelle Morizet</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-isabelle-morizet/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 Soir -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-soir" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-soir-podcasts.webp" alt="Europe 1 Soir" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Soir</span>
            <span>Podcasts Europe 1 Soir</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-soir/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 13h -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-13h" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-13h-podcast.webp" alt="Europe 1 13h" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 13h</span>
            <span>Podcasts Europe 1 13h</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-13h/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Le Studio des Légendes -->
        <div class="rs-radio-card" id="radiostreamr-card-studio-legendes" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/le-studio-des-legendes-podcast.webp" alt="Le Studio des Légendes" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-star"></i>Culture</span>
          <h2 class="rs-radio-name">
            <span>Le Studio des Légendes</span>
            <span>Podcasts Le Studio des Légendes</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-studio-des-legendes/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe Soir Week-end -->
        <div class="rs-radio-card" id="radiostreamr-card-europe-soir-weekend" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-soir-week-end-podcast.webp" alt="Europe Soir Week-end" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe Soir Week-end</span>
            <span>Podcasts Europe Soir Week-end</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe-soir-week-end/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- L'heure des Pros -->
        <div class="rs-radio-card" id="radiostreamr-card-heure-pros" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/lheure-des-pros-podcast.webp" alt="L'heure des Pros" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>L'heure des Pros</span>
            <span>Podcasts L'heure des Pros</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-lheure-des-pros/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les années Top 50 -->
        <div class="rs-radio-card" id="radiostreamr-card-top-50" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/les-annees-top-50-podcast-europe1-1.webp" alt="Les années Top 50" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Musique</span>
          <h2 class="rs-radio-name">
            <span>Les années Top 50</span>
            <span>Podcasts Les années Top 50</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-top-50/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Face à Philippe de Villiers -->
        <div class="rs-radio-card" id="radiostreamr-card-philippe-villiers" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/philippe-de-villiers-podcast-europe1.webp" alt="Face à Philippe de Villiers" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-tie"></i>Politique</span>
          <h2 class="rs-radio-name">
            <span>Face à Philippe de Villiers</span>
            <span>Podcasts Face à Philippe de Villiers</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-face-a-philippe-de-villiers/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les histoires d'amour extraordinaires -->
        <div class="rs-radio-card" id="radiostreamr-card-histoires-amour" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/sophie-davant-podcast.webp" alt="Les histoires d'amour extraordinaires" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-heart"></i>Romance</span>
          <h2 class="rs-radio-name">
            <span>Les histoires d'amour extraordinaires</span>
            <span>Podcasts Les histoires d'amour extraordinaires</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-histoires-damour-extraordinaires/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Au Coeur de l'Histoire -->
        <div class="rs-radio-card" id="radiostreamr-card-coeur-histoire" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/podcast-au-coeur-de-lhistoire.webp" alt="Au Coeur de l'Histoire" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-book-open"></i>Histoire</span>
          <h2 class="rs-radio-name">
            <span>Au Coeur de l'Histoire</span>
            <span>Podcasts Au Coeur de l'Histoire</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-au-coeur-de-lhistoire/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
      </div>

      <button class="rs-carousel-button rs-next" id="radiostreamr-next-button">
        <i class="fas fa-chevron-right"></i>
      </button>
    </div>
    <a href="https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/podcast-europe1" class="rs-all-podcasts-btn">
      <i class="fas fa-podcast"></i>
      Voir tous les podcasts
    </a>
  </div>

  <script>
    (function() {
      class RadioStreamrCarousel {
        constructor(selector) {
          this.container = document.querySelector(selector);
          this.carousel = this.container.querySelector('.rs-carousel');
          this.allCards = Array.from(this.container.querySelectorAll('.rs-radio-card')); // Store all cards
          this.prevButton = this.container.querySelector('.rs-carousel-button.rs-prev');

          // Select random 9 cards
          this.selectRandomCards();
          
          // Initialize properties after cards are selected
          this.cards = Array.from(this.container.querySelectorAll('.rs-radio-card'));
          this.currentIndex = 0;
          this.cardWidth = this.cards[0].offsetWidth + 20;
          this.cardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
          this.maxIndex = this.cards.length - this.cardsPerView;
          this.nextButton = this.container.querySelector('.rs-carousel-button.rs-next');

          this.init();
        }

        selectRandomCards() {
          // Remove all cards from carousel
          this.allCards.forEach(card => card.remove());

          // Randomly select 9 cards
          const shuffled = [...this.allCards].sort(() => 0.5 - Math.random());
          const selected = shuffled.slice(0, 14);
          
          // Add selected cards back to carousel
          selected.forEach(card => {
            this.carousel.appendChild(card);
          });
        }

        init() {
          this.bindEvents();
        }

        scrollToIndex(index) {
          // Handle infinite loop
          if (index < 0) {
            this.currentIndex = this.cards.length - this.cardsPerView;
          } else if (index > this.maxIndex) {
            this.currentIndex = 0;
          } else {
            this.currentIndex = index;
          }
          
          // Add scrolling class to cards
          this.cards.forEach(card => {
            card.classList.add('rs-scrolling');
            setTimeout(() => card.classList.remove('rs-scrolling'), 500);
          });

          // Scroll with animation
          this.carousel.scrollTo({
            left: this.currentIndex * this.cardWidth,
            behavior: 'smooth'
          });

          // Create floating notes effect
          const notes = ['♪', '♫', '♬'];
          for(let i = 0; i < 3; i++) {
            const note = document.createElement('span');
            note.textContent = notes[Math.floor(Math.random() * notes.length)];
            note.style.cssText = `
              position: absolute;
              color: #00ffff;
              font-size: 24px;
              top: ${50 + Math.random() * 100}px;
              left: ${50 + Math.random() * (this.carousel.offsetWidth - 100)}px;
              animation: rs-floatingNotes 1s ease-out ${i * 0.2}s forwards;
              pointer-events: none;
            `;
            this.carousel.appendChild(note);
            setTimeout(() => note.remove(), 1000 + i * 200);
          }
        }

        bindEvents() {
          this.prevButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex - 1));
          this.nextButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex + 1));

          window.addEventListener('resize', () => {
            const newCardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
            const newMaxIndex = this.cards.length - newCardsPerView;
            this.currentIndex = Math.min(this.currentIndex, newMaxIndex);
            this.scrollToIndex(this.currentIndex);
          });
        }
      }

      document.addEventListener('DOMContentLoaded', function() {
        new RadioStreamrCarousel('.rs-carousel-section');
      });
    })();
  </script>
</body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-0d0797d e-con-full e-flex e-con e-parent" data-id="0d0797d" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
				<div class="elementor-element elementor-element-9260360 elementor-widget elementor-widget-shortcode" data-id="9260360" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"></div>
						</div>
				</div>
				</div>
				</div>
		<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-dis-moi-ce-que-tu-chantes/">🗣️ Podcast et Replay &#8211; Dis-moi ce que tu chantes de Didier Barbelivien &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://radiostreamr.com/radio-france/podcast-dis-moi-ce-que-tu-chantes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🗣️ Podcast et Replay &#8211; La Voix est Livre &#8211; Europe 1</title>
		<link>https://radiostreamr.com/radio-france/podcast-la-voix-est-livre/</link>
					<comments>https://radiostreamr.com/radio-france/podcast-la-voix-est-livre/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 11 Nov 2024 15:37:49 +0000</pubDate>
				<category><![CDATA[Europe 1]]></category>
		<category><![CDATA[Podcast]]></category>
		<guid isPermaLink="false">https://radiostreamr.com/radio-france/?p=1085</guid>

					<description><![CDATA[<p>La voix est livre de Nicolas Carreau &#8211; Écoutez tous les podcasts Europe 1 en rediffusion Plus récentsPlus anciens Publicité La voix est livre &#8211; Nicolas Carreau décrypte l&#8217;actualité littéraire sur Europe 1 Voir leur Facebook Voir leur Instagram Voir leur site web Chaque week-end dans « La voix est livre », Nicolas Carreau vous fait découvrir [&#8230;]</p>
<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-la-voix-est-livre/">🗣️ Podcast et Replay &#8211; La Voix est Livre &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="1085" class="elementor elementor-1085" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-dce457e e-con-full e-flex e-con e-parent" data-id="dce457e" data-element_type="container">
				<div class="elementor-element elementor-element-9f9be1c 1995 elementor-widget elementor-widget-html" data-id="9f9be1c" data-element_type="widget" id="1995" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<!DOCTYPE html><html><head><meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&amp;display=swap" rel="stylesheet">
<style>
    .rtl-podcast-player * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Roboto', sans-serif;
    }

  .rtl-podcast-player #pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
}

@keyframes gradientBG {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.rtl-podcast-player body {
    background: linear-gradient(-45deg, #0a192f, #172a45, #1a365d, #102235);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    min-height: 100vh;
    display: flex;
    align-items: center;
    color: #fff;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

    .rtl-podcast-player .container {
        display: grid;
        grid-template-columns: 1.2fr 2.8fr;
        gap: 20px;
        margin: 0 auto;
        padding: 50px 150px !important;
        width: 100%;
        background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
        background-size: 400% 400%;
        animation: gradientBG 15s ease infinite;
        border-radius: 0;
        box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);
    }


    @media (max-width: 1024px) {
        .rtl-podcast-player .container {
            padding: 30px 45px;
            grid-template-columns: 1fr 2fr;
        }
        
        .rtl-podcast-player h1 {
            font-size: 2em;
        }
    }


    @media (max-width: 768px) {
        .rtl-podcast-player .container {
            padding: 20px !important; /* Override padding */
            margin: 0 !important; /* Reset margin */
            width: 100% !important;
            max-width: 100% !important;
            grid-template-columns: 1fr;
            overflow-x: hidden; /* Prevent horizontal scroll */
        }
        
        .rtl-podcast-player #episode-grid,
        .rtl-podcast-player .episode,
        .rtl-podcast-player #featured-episode,
        .rtl-podcast-player .host-biography,
        .rtl-podcast-player .social-share-buttons {
            width: 100% !important;
            margin-left: auto !important;
            margin-right: auto !important;
            padding: 15px !important;
        }
        
        .rtl-podcast-player h1,
        .rtl-podcast-player h2,
        .rtl-podcast-player p {
            padding-left: 10px !important;
            padding-right: 10px !important;
            text-align: center;
        }

        .rtl-podcast-player #episode-grid {
            grid-template-columns: 1fr !important; /* Force single column */
            gap: 20px;
        }
        
        .rtl-podcast-player .episode {
            width: 100% !important;
            margin: 0 auto !important;
        }
    }


@media (max-width: 480px) {
    .rtl-podcast-player .container {
        padding: 10px !important;
    }
    
    .rtl-podcast-player #featured-episode,
    .rtl-podcast-player .episode {
        padding: 15px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }
}

.rtl-podcast-player h1 {
    color: #00ffff;
    text-align: center;
    font-size: 2.3em;
    margin-bottom: 40px;
    font-weight: 700;
    width: 100%;
    grid-column: 1 / -1;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.3);
}

  #fixed-player-bar {
        display: flex;               /* Assure l'affichage en flex */
        flex-direction: column;       /* Organisation en colonne */
        align-items: center;          /* Centre les éléments */
        padding: 10px;
        gap: 10px;                    /* Espace entre chaque ligne */
        background: rgba(26, 26, 26, 0.95); /* Conserve l’arrière-plan */
        display: none;                /* Masqué par défaut */
    }

    /* Ligne 1 : Titre de l'épisode */
    #fixed-player-title {
        display: block;               /* Force l'affichage sur une ligne complète */
        text-align: center;
        font-size: 1.2em;
        color: #00ffff;
        width: 100%;                  /* Prend la largeur complète */
    }

    /* Ligne 2 : Player audio */
    #fixed-player-audio {
        display: block;               /* Force l'affichage sur une ligne complète */
        width: 100%;
    }

    /* Ligne 3 : Conteneur pour les boutons Chromecast et fermeture */
    .audio-controls-container {
        display: flex;
        justify-content: center;
        gap: 20px;
        width: 100%;                  /* Assure une disposition sur toute la largeur */
    }

    /* Styles des boutons */
    #chromecast-button, #close-fixed-player {
        width: 40px;
        height: 40px;
        border: none;
        cursor: pointer;
    }
}

  @media (max-width: 768px) {
    .rtl-podcast-player h1 {
        margin-top: 0px !important; /* Ajustez la valeur selon vos besoins */
    }
}
  
.rtl-podcast-player #featured-episode {
    /* Remplacer ces styles */
    display: flex;
    flex-direction: column;
    height: 100%; /* Ajout de cette ligne */
    padding: 30px;
    border-radius: 15px;
    background-color: transparent;
    color: #ffffff;
    transition: all 0.3s ease;
}

.rtl-podcast-player #featured-episode:hover {
    transform: translateY(-5px);
}

.rtl-podcast-player #featured-episode h3 {
    color: #00ffff;
    margin-bottom: 15px;
    font-weight: 500;
}

.rtl-podcast-player #featured-episode button, .rtl-podcast-player .episode button {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    padding: 0;
    background-image: url('https://static.vecteezy.com/system/resources/thumbnails/017/196/540/small/3d-play-button-icon-transparent-background-free-png.png');
    background-size: 35px;
    background-position: center;
    background-repeat: no-repeat;
    font-size: 0;
    position: relative;
}

    .rtl-podcast-player .date-badge {
        background: rgba(0, 255, 255, 0.1);
        border: 2px solid #00ffff;
        border-radius: 8px;
        padding: 8px 15px;
        color: #00ffff;
        font-weight: bold;
        text-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
        box-shadow: 
            0 0 5px rgba(0, 255, 255, 0.2),
            0 0 10px rgba(0, 255, 255, 0.2),
            0 0 15px rgba(0, 255, 255, 0.2),
            0 0 20px rgba(0, 255, 255, 0.2);
        animation: neonPulse 1.5s ease-in-out infinite;
        margin: 15px auto 20px auto; /* Increased bottom margin */
        display: block; /* Changed from inline-block to block */
        width: fit-content;
    }

    @keyframes neonPulse {
        0%, 100% {
            box-shadow: 
                0 0 5px rgba(0, 255, 255, 0.2),
                0 0 10px rgba(0, 255, 255, 0.2),
                0 0 15px rgba(0, 255, 255, 0.2),
                0 0 20px rgba(0, 255, 255, 0.2);
        }
        50% {
            box-shadow: 
                0 0 10px rgba(0, 255, 255, 0.4),
                0 0 20px rgba(0, 255, 255, 0.4),
                0 0 30px rgba(0, 255, 255, 0.4),
                0 0 40px rgba(0, 255, 255, 0.4);
        }
    }


.rtl-podcast-player #featured-episode img,
.rtl-podcast-player .episode img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .modal-content img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .episode button:hover::after,
.rtl-podcast-player #featured-episode button:hover::after {
    content: "Ecouter ce podcast";
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap;
    z-index: 1000;
}

.rtl-podcast-player #featured-episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #episode-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

    .rtl-podcast-player .episode {
        padding: 20px;
        border-radius: 15px;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.1);
        text-align: center;
        background-color: #1a1a1a;
        transition: all 0.3s ease;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .rtl-podcast-player .episode p {
        color: #ffffff;
    }


.rtl-podcast-player .episode:hover {
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);
    transform: translateY(-3px);
}

.rtl-podcast-player .episode h5 {
    margin-bottom: 10px;
    color: #00ffff;
}

.rtl-podcast-player .episode a {
    color: #00ffff;
    text-decoration: none;
}

    .rtl-podcast-player .episode button:hover {
        background-color: #00cccc;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }
    
    .search-filter-container {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        margin-bottom: 30px;
        width: 100%;
    }

    .search-filter-container input,
    .search-filter-container select {
        padding: 10px 15px;
        border: 2px solid #00ffff;
        border-radius: 8px;
        background: rgba(0, 0, 0, 0.3);
        color: #fff;
        font-size: 16px;
        width: 200px;
    }

    .search-filter-container input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }

    .search-filter-container input:focus,
    .search-filter-container select:focus {
        outline: none;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
    }

    .search-filter-container select {
        cursor: pointer;
    }

    .search-filter-container select option {
        background-color: #1a1a1a;
        color: #fff;
    }

    @media (max-width: 768px) {
        .search-filter-container {
            flex-direction: column;
            gap: 10px;
        }

        .search-filter-container input,
        .search-filter-container select {
            width: 100%;
            max-width: 300px;
        }
    }

    color: #000;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-top: 10px; /* Add space above button */
    display: block; /* Ensure block-level display */
    margin-left: auto;
    margin-right: auto;
}

.rtl-podcast-player .episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player .pagination {
    text-align: center !important;
    margin-top: 30px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
}

  .rtl-podcast-player #page-numbers {
    display: flex !important;
    gap: 5px !important;
    margin: 0 5px !important;
}
  
.rtl-podcast-player .pagination button,
.rtl-podcast-player .pagination #prev-btn,
.rtl-podcast-player .pagination #next-btn {
    margin: 0 !important;  /* Changé de 5px à 0 */
    padding: 8px 16px;
    font-size: 1em;
    background-color: #1a1a1a;
    color: #00ffff;
    border: 1px solid #00ffff;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rtl-podcast-player .pagination button:hover {
    background-color: #00ffff;
    color: #000;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
}

.rtl-podcast-player .modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
}

.rtl-podcast-player .modal-content {
    background-color: #1a1a1a;
    padding: 40px;
    border: 2px solid #00ffff;
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: auto;
    color: white;
}

.rtl-podcast-player .close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: #00ffff;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
}

.rtl-podcast-player .close:hover {
    color: #00cccc;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #chromecast-button {
    background-color: #00ffff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    color: #000;
    margin-top: 20px;
    font-weight: bold;
    display: inline-block;
}

.rtl-podcast-player audio::-webkit-media-controls-panel {
    background-color: #2a2a2a;
}

.rtl-podcast-player audio::-webkit-media-controls-current-time-display,
.rtl-podcast-player audio::-webkit-media-controls-time-remaining-display {
    color: #000000;
}

.rtl-podcast-player #fixed-player-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(26, 26, 26, 0.95);
    backdrop-filter: blur(10px);
    padding: 10px 20px;
    z-index: 999;
    border-top: 2px solid #00ffff;
}

.rtl-podcast-player .fixed-player-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    gap: 20px;
}


.rtl-podcast-player #fixed-player-title {
    color: #00ffff;
    font-size: 1em;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.rtl-podcast-player #fixed-player-audio {
    flex: 2;
    max-width: 500px;
}

.episode-card {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(0, 255, 255, 0.3);
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.episode-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 255, 255, 0.2);
}

.episode-card img {
    width: 100%;
    max-width: 200px;
    border-radius: 10px;
    margin: 10px 0;
}

.episode-card button {
    margin-top: 10px;
}
  
/* Conserve les styles des boutons play et mute */
audio::-webkit-media-controls-play-button,
audio::-webkit-media-controls-mute-button {
    background-color: #40E0D0 !important; /* Bleu turquoise */
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
}

audio::-webkit-media-controls-play-button:hover,
audio::-webkit-media-controls-mute-button:hover {
    background-color: #5FECEC !important; /* Bleu turquoise plus clair au survol */
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5) !important;
}

/* Tentative pour changer la couleur du trait de progression */
audio::-webkit-media-controls-timeline {
    color: #a6a6a6 !important; /* Essaye de cibler le trait turquoise */
}

/* Modifie la couleur des trois petits points */
audio::-webkit-media-controls-panel {
    background-color: transparent !important; /* Assure que le fond ne prend pas de couleur */
    color: #40E0D0 !important; /* Forcer la couleur turquoise pour les trois points */
}

/* Tentative supplémentaire pour cibler le trait du curseur de progression */
audio::-webkit-slider-runnable-track {
    background-color: #40E0D0 !important; /* Bleu turquoise pour la piste */
}

audio::-webkit-slider-thumb {
    background-color: #a6a6a6 !important; /* Plus clair pour le curseur lui-même */
}


@media (max-width: 768px) {
    .rtl-podcast-player .fixed-player-content {
        flex-direction: column;
        gap: 10px;
        padding: 15px;
    }

    .rtl-podcast-player #fixed-player-audio {
        width: 100%;
        max-width: 100%;
    }

    .rtl-podcast-player #fixed-player-title {
        width: 100%;
        text-align: center;
        font-size: 0.9em;
    }
}

.rtl-podcast-player .social-button {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease-in-out;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.rtl-podcast-player .social-button:hover {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .rtl-podcast-player .social-share-buttons {
        gap: 10px;
    }
    
    .rtl-podcast-player .social-button {
        width: 40px;
        height: 40px;
    }
    
    .rtl-podcast-player .social-button svg {
        width: 20px;
        height: 20px;
    }
}

.navigation-buttons {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    pointer-events: none;
    z-index: 1000;
}

.nav-button {
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid #00ffff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    pointer-events: auto;
}  

.nav-button:hover {
    background: rgba(0, 255, 255, 0.2);
    transform: scale(1.1);
}

.nav-button svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 768px) {
    .nav-button {
        width: 35px;
        height: 35px;
    }
    
    .nav-button svg {
        width: 20px;
        height: 20px;
    }
}
</style>
<script type="text/javascript" src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js"></script>

</head><body>
<div class="rtl-podcast-player">
    <div class="container" style="background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    border-radius: 0; /* Changed from 20px to 0 */
    box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);">
    <h1 style="color: #00ffff; text-align: center; font-size: 2.1em; margin-bottom: 40px; font-weight: 700; width: 100%; grid-column: 1 / -1; text-shadow: 0 0 10px rgba(0, 255, 255, 0.3); padding: 0 15px; display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap;">
La voix est livre de Nicolas Carreau - Écoutez tous les podcasts Europe 1 en rediffusion
<img decoding="async" src="https://cdn-europe1.lanmedia.fr/var/europe1/storage/images/europe1/animateurs/europe-12/53472641-3-fre-FR/Europe-1.png" alt="Logo Europe 1" style="width: 60px; height: 60px; border-radius: 50%; padding: 5px; background: white; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);">
</h1>
    <div class="social-share-buttons" style="display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 30px; width: 100%; grid-column: 1 / -1;">
    <button onclick="shareOnX()" class="social-button" style="background-color: #000;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path>
        </svg>
    </button>
    <button onclick="shareOnWhatsapp()" class="social-button" style="background-color: #25D366;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"></path>
        </svg>
    </button>
    <button onclick="shareOnFacebook()" class="social-button" style="background-color: #1877F2;">  
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path>
        </svg>
    </button>
    <button onclick="shareOnLinkedIn()" class="social-button" style="background-color: #0A66C2;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path>
        </svg>
    </button>
</div>
      
    <div id="featured-episode" style="display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: space-between; gap: 20px; height: 100%; position: relative; padding-top: 20px; cursor: pointer;">
  <div class="features-episode" style="width: 100%; height: 100%;">
    <!-- Première carte (dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
            
    <!-- Deuxième carte (avant-dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
  </div>
</div>
    <div>
    <div class="search-filter-container">
        <input type="text" id="podcast-search" placeholder="Rechercher un podcast..." oninput="filterAndDisplayEpisodes()">
        <select id="podcast-filter" onchange="filterAndDisplayEpisodes()">
            <option value="newest">Plus récents</option>
            <option value="oldest">Plus anciens</option>
        </select>
    </div>
    <div id="episode-grid">
        <style>
            .episode {
                cursor: pointer;
            }
            
            .episode > * {
                pointer-events: none;
            }
            
            .episode button {
                pointer-events: auto;
            }
        </style>
    </div>
    <div class="pagination" id="pagination">
    <button id="prev-btn" onclick="changePage('prev')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M15 18l-6-6 6-6"></path>
        </svg>
    </button>
    <span id="page-numbers"></span>
    <button id="next-btn" onclick="changePage('next')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M9 18l6-6-6-6"></path>
        </svg>
    </button>
</div>

      <div class="ad-banner" style="width: 100%; max-width: 508px; margin: 20px auto; text-align: center; grid-column: 1 / -1; background: rgba(0,0,0,0.3); padding: 15px; border-radius: 10px; border: 1px solid rgba(0, 255, 255, 0.2); transition: transform 0.3s ease;">
    <p style="color: #666; font-size: 12px; margin-bottom: 10px;">Publicité</p>
    <a href="https://universal-academy.com/recruter-des-alternants-dans-le-tourisme/" target="_blank" style="display: inline-block;">
        <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/Design-sans-titre-2024-11-06T134332.299.webp" alt="Bannière publicitaire RTL" style="width: 100%; max-width: 700px; height: auto; border-radius: 8px; transition: transform 0.3s ease;" onmouseover="this.style.transform='scale(1.02)'" onmouseout="this.style.transform='scale(1)'">
    </a>
</div>

    <script>
        // Ajouter un event listener pour les cartes d'épisodes
        document.getElementById('episode-grid').addEventListener('click', (e) => {
            const episodeCard = e.target.closest('.episode');
            if (episodeCard) {
                // Trouver le bouton dans la carte et simuler un clic dessus
                const button = episodeCard.querySelector('button');
                if (button) {
                    button.click();
                }
            }
        });
    </script>
</div>
    
    <div class="host-biography" style="grid-column: 1 / -1; background: rgba(0, 0, 0, 0.3); padding: 30px; border-radius: 15px; margin-top: 30px; border: 1px solid rgba(0, 255, 255, 0.2);">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
        <!-- Media query pour passer en une colonne sur mobile -->
        <style>
            @media (max-width: 768px) {
                .host-biography > div {
                    grid-template-columns: 1fr !important;
                }
            }
        </style>

      <div class="host-biography" style="grid-column: 1 / -1; padding: 30px; border-radius: 15px; margin-top: 30px;">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
      <div style="grid-column: 1 / -1; margin-bottom: 30px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">La voix est livre - Nicolas Carreau décrypte l'actualité littéraire sur Europe 1</h2>

    <!-- Nouveaux boutons de réseaux sociaux -->
    <div style="display: flex; justify-content: center; align-items: center; gap: 20px; margin: 20px 0;">
        <a href="https://www.facebook.com/Europe1/?locale=fr_FR" target="_blank" style="position: relative; width: 50px; height: 50px; background: #1877F2; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Facebook</span>
</a>

        <a href="https://www.instagram.com/europe1/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #E4405F; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Instagram</span>
</a>

        <a href="https://www.europe1.fr/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #00ffff; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#000000">
        <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur site web</span>
</a>
    </div>

    <style>
        /* Hover effects pour les boutons */
        .host-biography a:hover {
            transform: scale(1.1);
            box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
        }
        
        .host-biography a:hover span {
            opacity: 1;
        }

        /* Media queries pour le responsive */
        @media (max-width: 768px) {
            .host-biography div[style*="display: flex"] {
                flex-wrap: wrap;
                justify-content: center;
                gap: 15px;
            }
        }
    </style>

    <p style="color: #ffffff; line-height: 1.6; text-align: center; max-width: 1200px; margin: 0 auto;">
    Chaque week-end dans "La voix est livre", Nicolas Carreau vous fait découvrir l'actualité littéraire avec passion et expertise. Cette émission culturelle d'Europe 1 est devenue un rendez-vous incontournable pour les amoureux de la littérature. À travers des interviews d'auteurs, des critiques de livres et des discussions passionnantes, Nicolas Carreau partage sa passion pour la littérature et met en lumière les nouveautés éditoriales. Son approche accessible et son analyse fine permettent aux auditeurs de découvrir des œuvres variées, des grands noms de la littérature aux nouveaux talents émergents. En conjuguant culture et divertissement, "La voix est livre" offre un espace unique où la littérature se dévoile sous toutes ses formes, enrichissant ainsi notre compréhension du monde littéraire contemporain et classique.
</p>
    
    <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 30px; padding: 20px;">
        <!-- Les 6 cartes existantes restent inchangées -->
        <!-- Carte 1 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M3 18v-6a9 9 0 0 1 18 0v6"></path>
                <path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"></path>
            </svg>
            <p style="color: #ffffff; margin: 0;">Écouter gratuitement tous les podcasts en streaming</p>
        </div>

        <!-- Carte 2 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                <polyline points="7 10 12 15 17 10"></polyline>
                <line x1="12" y1="15" x2="12" y2="3"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Télécharger les épisodes pour une écoute hors-ligne</p>
        </div>

        <!-- Carte 3 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"></path>
                <line x1="2" y1="20" x2="2" y2="20"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Diffuser sur votre Chromecast ou appareil compatible</p>
        </div>

        <!-- Carte 4 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <polygon points="10 8 16 12 10 16 10 8"></polygon>
            </svg>
            <p style="color: #ffffff; margin: 0;">Accéder à toutes les rediffusions des émissions précédentes</p>
        </div>

        <!-- Carte 5 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
        <circle cx="9" cy="7" r="4"></circle>
        <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
        <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Découvrez "La voix est livre", l'émission littéraire d'Europe 1 animée par Nicolas Carreau. Il explore l'actualité des livres avec des auteurs et propose des critiques passionnantes.</p>
</div>

        <!-- Carte 6 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px; position: relative;" onmouseover="this.style.transform='translateY(-5px)'; document.getElementById('live-tooltip').style.opacity='1'" onmouseout="this.style.transform='translateY(0)'; document.getElementById('live-tooltip').style.opacity='0'" onclick="window.location.href='https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/'">
    <div id="live-tooltip" style="position: absolute; top: -40px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); color: #fff; padding: 8px 15px; border-radius: 5px; font-size: 14px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; border: 1px solid #00ffff; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">
        Cliquez pour écouter en direct "Europe 1 13h"
    </div>
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M4 12h1"></path>
        <path d="M9 12h1"></path>
        <path d="M14 12h1"></path>
        <path d="M19 12h1"></path>
        <rect x="2" y="8" width="20" height="12" rx="2"></rect>
        <path d="M6 8V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4"></path>
        <circle cx="12" cy="14" r="4"></circle>
        <path d="M12 10v8"></path>
        <path d="M8 14h8"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Ou écouter en direct "La voix est livre" sur Europe 1, l'émission littéraire animée par Nicolas Carreau qui vous fait découvrir toute l'actualité des livres</p>
    <p style="color: #00ffff; margin-top: 10px; font-weight: bold; font-size: 0.8em;">
    18H00 - 19H00 : Dimanche
</p>
</div>
    </div>
</div>
        
        <!-- Histoire de l'émission -->
        <div style="padding: 20px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">L'Histoire de La voix est livre sur Europe 1</h2>
    <p style="color: #ffffff; line-height: 1.6; text-align: center;">
        La voix est livre est l'émission littéraire phare d'Europe 1 animée par Nicolas Carreau. Chaque dimanche, cette émission culturelle incontournable propose aux auditeurs une plongée passionnante dans l'actualité littéraire, mêlant interviews d'auteurs, critiques de livres et découvertes littéraires.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        Diffusée le dimanche de 18h à 19h, l'émission offre un espace privilégié où la littérature se dévoile sous toutes ses formes. Nicolas Carreau, avec son expertise et sa passion communicative pour les livres, guide les auditeurs à travers les nouveautés éditoriales et les grands moments de la littérature contemporaine.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        L'émission s'est imposée comme un rendez-vous culturel majeur grâce à son format dynamique et sa capacité à rendre la littérature accessible à tous. À travers des rencontres privilégiées avec les auteurs, des analyses pertinentes et des échanges enrichissants, La voix est livre offre chaque semaine une expérience radiophonique unique qui célèbre la richesse et la diversité du monde littéraire.
    </p>
    <div style="margin-top: 30px;">
        <img decoding="async" src="https://cdn-europe1.lanmedia.fr/var/europe1/storage/images/europe1/emissions/la-voix-est-livre/43894724-10-fre-FR/La-voix-est-livre.jpg" alt="Le Studio des Légendes sur Europe 1" style="width: 96%; max-width: 360px; height: auto; border-radius: 15px; object-fit: cover;">
    </div>
</div>

        <!-- Biographie de Laurent Ruquier -->
        <div style="display: flex; flex-direction: column; align-items: center; gap: 20px;">
    <div style="width: 200px; height: 200px; border-radius: 50%; overflow: hidden; border: 3px solid #00ffff;">
        <img decoding="async" src="https://www.lemediaplus.com/wp-content/uploads/2021/03/Europe-1-Nicolas-Carreau-aux-commandes-de-l%E2%80%99%C3%A9mission-%C2%ABLa-voix-est-livre%C2%BB-r%C3%A9compens%C3%A9-lors-de-la-26e-c%C3%A9r%C3%A9monie-des-Lauriers-de-l%E2%80%99Audiovisuel-scaled.jpg" alt="Portrait de Nicolas Carreau, style professionnel" style="width: 100%; height: 100%; object-fit: cover;">
    </div>
    <div style="text-align: center;">
        <h2 style="color: #00ffff; margin-bottom: 20px;">Nicolas Carreau - L'expert littéraire d'Europe 1</h2>
        <p style="color: #ffffff; line-height: 1.8;">
Nicolas Carreau est un passionné de littérature qui anime avec brio "La voix est livre" sur Europe 1. Chaque dimanche, il partage son amour des livres avec les auditeurs en proposant une émission riche en découvertes littéraires.

À travers des interviews approfondies d'auteurs et des critiques pertinentes, Nicolas Carreau démontre sa capacité unique à rendre la littérature accessible à tous. Sa connaissance approfondie du monde littéraire et son talent pour mettre en lumière aussi bien les grands noms que les nouveaux talents font de lui une voix respectée dans le paysage culturel français.

Dans "La voix est livre", il excelle particulièrement dans l'art de décrypter les nouveautés éditoriales et d'en extraire la substantifique moelle. Son approche à la fois érudite et accessible permet aux auditeurs de découvrir la richesse de la littérature contemporaine et classique sous un angle toujours renouvelé.

Son style d'animation, empreint de curiosité et d'enthousiasme, a contribué à faire de "La voix est livre" un rendez-vous hebdomadaire incontournable pour les amateurs de littérature. Sa capacité à créer un véritable dialogue entre les auteurs et les auditeurs fait de chaque émission un moment privilégié de partage et de découverte littéraire.
        </p>
    </div>
</div>

        <!-- Sources (span across both columns) -->
        <div style="grid-column: 1 / -1; margin-top: 20px; padding: 15px; background: rgba(0, 0, 0, 0.2); border-radius: 10px; text-align: center;">
    <h3 style="color: #00ffff; margin-bottom: 10px; font-size: 1.2em;">Sources :</h3>
    <ul style="list-style: none; padding: 0; text-align: center; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
        <li>
            <a href="https://www.livreavannes.fr/nicolas-carreau" target="_blank" style="color: #00ffff; text-decoration: none; transition: all 0.3s; padding: 5px 10px; border-radius: 5px; display: inline-block; &amp;:hover { background: rgba(0, 255, 255, 0.1); transform: translateY(-2px); box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); }">• Europe 1 - Biographie de Nicolas Carreau</a>
        </li>
    </ul>
</div>
    </div>
</div>

</div>

    <div id="player-modal" class="modal">
        <div class="modal-content">
    <span class="close" onclick="closeModal()">×</span>
    <div class="navigation-buttons">
        <button id="prev-episode" onclick="navigateEpisode('prev')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M15 18l-6-6 6-6"></path>
            </svg>
        </button>
        <button id="next-episode" onclick="navigateEpisode('next')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M9 18l6-6-6-6"></path>
            </svg>
        </button>
    </div>
    <div id="player-content">
    <style>
        /* Styles existants */
        .modal-content {
            background-color: #1a1a1a;
            padding: 40px;
            border: 2px solid #00ffff;
            width: 90%;
            max-width: 500px;
            max-height: 90vh;
            border-radius: 20px;
            text-align: center;
            box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
            position: fixed; /* Changé de absolute à fixed */
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) !important; /* Ajout de !important */
            overflow-y: auto;
            color: white;
        }

        /* Change la couleur du timing en noir */
        audio::-webkit-media-controls-time-display {
            color: #000000 !important;
        }

        /* Ajout de media queries pour le mobile */
        @media (max-width: 768px) {
            .modal-content {
                padding: 30px;
                width: 95%;
                margin: 0 auto;
                position: fixed;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%) !important;
            }
        }

        @media (max-height: 600px) {
            .modal-content {
                max-height: 85vh;
            }
        }
    </style>
</div>
    <button id="chromecast-button" onclick="startChromecast()" style="width: 60px; height: 60px; border-radius: 50%; padding: 0; background-image: url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png'); background-size: 35px; background-position: center; background-repeat: no-repeat; font-size: 0;"></button>
</div>
    </div>

    <div id="fixed-player-bar" class="rtl-podcast-player" style="display: none;">
    <div class="fixed-player-content">
        <h3 id="fixed-player-title"></h3>
        <div class="audio-controls-container" style="display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%; max-width: 800px; margin: 0 auto;">
            <audio id="fixed-player-audio" controls="">
                <source src="" type="audio/mpeg">
            </audio>
            <button onclick="startChromecast()" style="width: 40px; height: 40px; min-width: 40px; border-radius: 50%; padding: 0; background: #ffffff url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png') center/25px no-repeat; border: 2px solid #00ffff; font-size: 0; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">Cast to Chromecast</button>
            <button id="close-fixed-player" onclick="closeFixedPlayer()" style="background: none; border: none; color: #00ffff; font-size: 24px; cursor: pointer; padding: 5px; min-width: 24px; display: flex; align-items: center; justify-content: center;">×</button>
        </div>
    </div>
</div>

    <script>
    (function RTLPodcastPlayer() {
        // Initialize cast api
        window.__onGCastApiAvailable = function(isAvailable) {
            if (!isAvailable) return;

            const initializeCastApi = function() {
                const sessionRequest = new chrome.cast.SessionRequest(chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);
                const apiConfig = new chrome.cast.ApiConfig(
                    sessionRequest,
                    sessionListener,
                    receiverListener
                );
                chrome.cast.initialize(apiConfig, onInitSuccess, onError);
            };

            const sessionListener = function(session) {
                console.log('Session listener', session);
            };

            const receiverListener = function(availability) {
                console.log('Receiver listener', availability);
            };

            const onInitSuccess = function() {
                console.log('Cast initialization success');
            };

            const onError = function(error) {
                console.error('Cast initialization error', error);
            };

            if (!chrome.cast || !chrome.cast.isAvailable) {
                setTimeout(initializeCastApi, 1000);
            } else {
                initializeCastApi();
            }
        };

        const rssUrl = "https://www.europe1.fr/rss/podcasts/la-voix-est-livre.xml";
        const proxyUrl = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(rssUrl)}&api_key=int3lqiwwrpnsvem6yki0mtwki2f4qcvcxtrlyea&count=200`;
        const episodesPerPage = 4;
        let currentPage = 1;
        let currentAudioUrl = '';
        let totalPages = 0;

        // Ajouter ces variables au début du script
        let currentEpisodeIndex = 0;
        let allEpisodes = [];
        let filteredEpisodes = [];

        fetch(proxyUrl)
            .then(response => response.json())
            .then(data => {
                if (data.status !== "ok") {
                    throw new Error("Erreur de chargement du flux RSS.");
                }
                allEpisodes = data.items;
                filteredEpisodes = [...allEpisodes];
                displayFeaturedEpisode(allEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(allEpisodes);
            })
            .catch(error => {
                document.getElementById("featured-episode").innerHTML = "<p>Impossible de charger le flux RSS. Veuillez réessayer plus tard.</p>";
            });

        function truncateDescription(description, maxLength = 180) {
    // Crée un élément temporaire pour décoder les entités HTML
    const tempElement = document.createElement("div");
    tempElement.innerHTML = description;
    
    // Récupère le texte brut de la description
    let plainText = tempElement.innerText || tempElement.textContent || '';

    // Tronque le texte si nécessaire
    if (plainText.length <= maxLength) return plainText.trim();
    return plainText.substring(0, maxLength).trim() + '...';
}

function displayFeaturedEpisode(episode) {
    const featuredEpisode = document.getElementById("featured-episode");
    
    // Créer le HTML pour les deux premières émissions
    featuredEpisode.innerHTML = `
    <div class="features-episode" style="width: 100%; height: 100%;">
        <!-- Première carte (dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[0].enclosure.link)}', '${sanitizeString(allEpisodes[0].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[0].title)}</h3>
            ${allEpisodes[0].thumbnail ? `<img decoding="async" src="${allEpisodes[0].thumbnail}" alt="Image de la dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[0].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[0].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
        
        <!-- Deuxième carte (avant-dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[1].enclosure.link)}', '${sanitizeString(allEpisodes[1].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[1].title)}</h3>
            ${allEpisodes[1].thumbnail ? `<img decoding="async" src="${allEpisodes[1].thumbnail}" alt="Image de l'avant-dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[1].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[1].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
    </div>
    `;
}

function displayEpisodes(page, episodes) {
    const episodeGrid = document.getElementById("episode-grid");
    episodeGrid.innerHTML = "";
    const episodesWithoutFeatured = episodes.slice(2);
    const start = (page - 1) * episodesPerPage;  
    const end = start + episodesPerPage;
    
    episodesWithoutFeatured.slice(start, end).forEach(item => {
        // IMPORTANT : Encode les titres pour éviter les problèmes avec les apostrophes
        const encodedTitle = encodeURIComponent(item.title);
        const encodedUrl = encodeURIComponent(item.enclosure.link);
        
        episodeGrid.innerHTML += `
    <div class="episode">
        <h5 style="color: #00ffff;">${sanitizeString(item.title)}</h5>
        ${item.thumbnail ? `<img decoding="async" src="${item.thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 150px;">` : ""}
        <div class="description" style="color: white;">${truncateDescription(item.description)}</div>
        <div class="date-badge">
            ${new Date(item.pubDate).toLocaleDateString('fr-FR', {
                day: '2-digit',
                month: '2-digit',
                year: '2-digit'
            })}
        </div>
        <button onclick="openModal('${sanitizeString(item.enclosure.link)}', '${sanitizeString(item.title)}')"></button>
    </div>
`;
    });
    updatePaginationButtons();
}

        function setupPagination(episodes) {
    // Soustrait les 2 épisodes featured au lieu d'un seul
    totalPages = Math.ceil((episodes.length - 2) / episodesPerPage);
    const pageNumbers = document.getElementById("page-numbers");
    pageNumbers.innerHTML = "";

    // Calcule quels numéros afficher
    let start = currentPage;
    if (currentPage === totalPages) {
        start = totalPages - 2;
    } else if (currentPage === 1) {
        start = 1;
    } else {
        start = currentPage - 1;
    }

    // S'assure que start n'est jamais inférieur à 1
    start = Math.max(1, start);
    
    // Affiche 3 boutons à partir de start
    for (let i = start; i < start + 3 && i <= totalPages; i++) {
        const button = document.createElement("button");
        button.textContent = i;
        button.addEventListener("click", () => {
            currentPage = i;
            displayEpisodes(currentPage, episodes);
            setupPagination(episodes); // Important : rafraîchit la pagination
        });
        pageNumbers.appendChild(button);
    }

    // Réactive la fonctionnalité des boutons précédent/suivant
    window.changePage = function(direction) {
        if (direction === 'prev' && currentPage > 1) {
            currentPage--;
        } else if (direction === 'next' && currentPage < totalPages) {
            currentPage++;
        }
        displayEpisodes(currentPage, filteredEpisodes);
        setupPagination(episodes); // Rafraîchit la pagination
        updatePaginationButtons();
    }

    updatePaginationButtons();
}

        function updatePaginationButtons() {
            const prevBtn = document.getElementById('prev-btn');
            const nextBtn = document.getElementById('next-btn');
            
            prevBtn.disabled = currentPage === 1;
            nextBtn.disabled = currentPage === totalPages;
            
            prevBtn.style.opacity = currentPage === 1 ? '0.5' : '1';
            nextBtn.style.opacity = currentPage === totalPages ? '0.5' : '1';
            
            const pageButtons = document.querySelectorAll('#page-numbers button');
            pageButtons.forEach((button, index) => {
                if (index + 1 === currentPage) {
                    button.style.backgroundColor = '#00ffff';
                    button.style.color = '#000';
                } else {
                    button.style.backgroundColor = '#1a1a1a';
                    button.style.color = '#00ffff';
                }
            });
        }

        window.openModal = function(audioUrl, title) {
            const playerContent = document.getElementById("player-content");
            
            // Find the episode data from allEpisodes based on the audioUrl
            const currentEpisode = allEpisodes.find(ep => ep.enclosure.link === audioUrl);
            
            // Get the thumbnail from the episode data directly
            const thumbnail = currentEpisode?.thumbnail;

            // Trouve l'index de l'épisode actuel
            currentEpisodeIndex = allEpisodes.findIndex(ep => ep.enclosure.link === audioUrl);
            
            playerContent.innerHTML = `
                <h2>${title}</h2>
                ${thumbnail ? `<img decoding="async" src="${thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 300px; margin: 15px 0;">` : ''}
                <audio controls style="width: 100%; margin-top: 10px;" id="modal-audio">
                    <source src="${audioUrl}" type="audio/mpeg">
                    Votre navigateur ne supporte pas la lecture audio.
                </audio>
            `;
            
            // Mise à jour de la visibilité des boutons de navigation
            updateNavigationButtons();
            
            currentAudioUrl = audioUrl;
            document.getElementById("player-modal").style.display = "block";
            
            // Store current title for fixed player
            window.currentEpisodeTitle = title;
            
            // Setup audio element for fixed player
            const modalAudio = document.getElementById('modal-audio');
            modalAudio.addEventListener('play', () => {
                window.isPlaying = true;
            });
            modalAudio.addEventListener('pause', () => {
                window.isPlaying = false;
            });
        }

    window.navigateEpisode = function(direction) {
        let newIndex = direction === 'prev' ? currentEpisodeIndex - 1 : currentEpisodeIndex + 1;
        
        if (newIndex >= 0 && newIndex < allEpisodes.length) {
            const episode = allEpisodes[newIndex];
            openModal(episode.enclosure.link, episode.title);
        }
    }

      function sanitizeString(str) {
    return str.replace(/['"\\<>]/g, "");
}


    function updateNavigationButtons() {
        const prevButton = document.getElementById('prev-episode');
        const nextButton = document.getElementById('next-episode');
        
        prevButton.style.display = currentEpisodeIndex === 0 ? 'none' : 'flex';
        nextButton.style.display = currentEpisodeIndex === allEpisodes.length - 1 ? 'none' : 'flex';
    }

        window.closeModal = function() {
            const modalAudio = document.getElementById('modal-audio');
            const fixedPlayerBar = document.getElementById('fixed-player-bar');
            const fixedPlayerAudio = document.getElementById('fixed-player-audio');
            const fixedPlayerTitle = document.getElementById('fixed-player-title');
            
            if (window.isPlaying) {
                // Pause modal audio first
                modalAudio.pause();
                
                // Set up fixed player
                fixedPlayerBar.style.display = 'block';
                fixedPlayerTitle.textContent = window.currentEpisodeTitle;
                fixedPlayerAudio.src = currentAudioUrl;
                fixedPlayerAudio.currentTime = modalAudio.currentTime;
                fixedPlayerAudio.play();
            }
            
            document.getElementById("player-modal").style.display = "none";
        }

    // Add close fixed player function
    window.closeFixedPlayer = function() {
        const fixedPlayerBar = document.getElementById('fixed-player-bar');
        const fixedPlayerAudio = document.getElementById('fixed-player-audio');
        fixedPlayerAudio.pause();
        fixedPlayerBar.style.display = 'none';
    }

        window.startChromecast = function() {
            if (!chrome.cast || !chrome.cast.isAvailable) {
                console.log('Cast API not available');
                return;
            }

            chrome.cast.requestSession(
                function(session) {
                    if (currentAudioUrl) {
                        const mediaInfo = new chrome.cast.media.MediaInfo(currentAudioUrl, 'audio/mpeg');
                        mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();
                        mediaInfo.metadata.title = document.querySelector('#player-content h2').textContent;

                        const request = new chrome.cast.media.LoadRequest(mediaInfo);
                        session.loadMedia(request).then(
                            () => console.log('Lecture Chromecast démarrée'),
                            errorCode => console.error('Erreur Chromecast: ' + errorCode)
                        );
                    }
                },
                function(error) {
                    console.error('Erreur lors de la création de la session:', error);
                }
            );
        }

        window.shareOnX = function() {
            const text = "Écoutez les podcasts : La voix est livre d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(text)}&url=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnWhatsapp = function() {
            const text = "Écoutez les podcasts : La voix est livre d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://wa.me/?text=${encodeURIComponent(text + ' ' + url)}`, '_blank');
        };

        window.shareOnFacebook = function() {
          const text = "Écoutez les podcasts : La voix est livre d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnLinkedIn = function() {
          const text = "Écoutez les podcasts : La voix est livre d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(url)}`, '_blank');
        };

        window.filterAndDisplayEpisodes = function() {
            const searchTerm = document.getElementById('podcast-search').value.toLowerCase();
            const filterValue = document.getElementById('podcast-filter').value;
            
            // Filter episodes based on search term
            filteredEpisodes = allEpisodes.filter(episode => 
                episode.title.toLowerCase().includes(searchTerm) || 
                episode.description.toLowerCase().includes(searchTerm)
            );
            
            // Sort episodes based on filter value
            if (filterValue === 'oldest') {
                filteredEpisodes.sort((a, b) => new Date(a.pubDate) - new Date(b.pubDate));
            } else {
                filteredEpisodes.sort((a, b) => new Date(b.pubDate) - new Date(a.pubDate));
            }
            
            // Reset pagination to first page when filtering
            currentPage = 1;
            
            // Update display
            if (filteredEpisodes.length > 0) {
                displayFeaturedEpisode(filteredEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(filteredEpisodes);
            } else {
                // Handle no results
                document.getElementById('episode-grid').innerHTML = '<p style="color: #fff; text-align: center; grid-column: 1/-1;">Aucun résultat trouvé</p>';
                document.getElementById('page-numbers').innerHTML = '';
            }
        }
    })();
</script>
</div>
</div></div></body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-9e9820f e-con-full e-flex e-con e-parent" data-id="9e9820f" data-element_type="container">
				<div class="elementor-element elementor-element-d4246d5 elementor-widget elementor-widget-html" data-id="d4246d5" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<html><head><base>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  <style>
    .rs-carousel-section {
      padding: 50px 0; 
      background: linear-gradient(45deg, #1a1a1a, #2c2c2c, #0e4d4d);
      background-size: 400% 400%;
      animation: rs-gradientBG 15s ease infinite;
      color: #ffffff;
      font-family: 'Roboto', sans-serif;
      min-height: flex; 
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .rs-title {
      color: #00ffff;
      text-align: center;
      margin: 2rem 0;
      font-size: 2rem;
      text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-container {
      max-width: auto;
      width: 100%;
      position: relative;
      padding: 50px 150px; 
      box-sizing: border-box;
      overflow: hidden;
      margin: 0 auto; 
    }

    .rs-carousel {
      display: flex;
      overflow: hidden;
      scroll-behavior: smooth;
      gap: 20px;
      padding: 20px 0 0 0;
      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .rs-radio-card {
      min-width: 250px;
      flex: 0 0 250px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 15px;
      text-align: center;
      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
      border: 2px solid #00ffff;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);
      position: relative;
      overflow: hidden;
      transform-origin: center center;
      padding: 20px 15px; /* Add consistent padding */
    }

    .rs-radio-card.rs-scrolling {
      transform: scale(0.95) rotate(-2deg);
    }

    .rs-radio-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(0, 255, 255, 0.1), transparent);
      transition: 0.5s;
    }

    .rs-radio-card:hover::before {
      left: 100%;
    }

    .rs-radio-card:hover {
      transform: translateY(-5px) scale(1.02);
      box-shadow: 0 10px 30px rgba(0, 255, 255, 0.3);
      z-index: 1;
    }

    .rs-radio-logo {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      margin-bottom: 1rem;
      border: 3px solid #00ffff;
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);
      transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      cursor: pointer; /* Add cursor pointer to indicate interactivity */
    }

    .rs-radio-logo:hover {
      transform: rotateY(180deg) scale(1.15);
      border-color: #ff00ff;
      box-shadow: 
        0 0 25px rgba(0, 255, 255, 0.5),
        0 0 50px rgba(255, 0, 255, 0.3);
      animation: logoGlow 1.5s infinite alternate;
    }

    @keyframes logoGlow {
      0% {
        box-shadow: 0 0 25px rgba(0, 255, 255, 0.5),
                    0 0 50px rgba(255, 0, 255, 0.3);
      }
      100% {
        box-shadow: 0 0 35px rgba(0, 255, 255, 0.8),
                    0 0 70px rgba(255, 0, 255, 0.6);
      }
    }

    .rs-radio-name {
      font-size: 1.2rem; /* Reduced from 1.5rem */
      margin: 15px 0;
      color: #00ffff;
      transition: all 0.3s ease;
      position: relative; /* Added */
    }

    /* Add hover state for radio name span elements */
    .rs-radio-name span:first-child {
      display: inline-block;
      transition: opacity 0.3s ease;
    }

    .rs-radio-name span:last-child {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      opacity: 0;
      transition: opacity 0.3s ease;
      width: 100%;
    }

    .rs-radio-card:hover .rs-radio-name span:first-child {
      opacity: 0;
    }

    .rs-radio-card:hover .rs-radio-name span:last-child {
      opacity: 1;
    }

    .rs-listen-button {
      position: relative; /* Add this */
      background: #00ffff;
      color: #000;
      width: 60px;
      height: 60px;
      border: none;
      border-radius: 50%;
      font-size: 1.5rem;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      text-decoration: none;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 1rem auto;
      overflow: hidden;
    }

    .rs-listen-button:hover {
      background: #00cccc;
      transform: scale(1.1) rotate(360deg);
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.6);
    }

    .rs-listen-button::before {
      content: "Voir la webradio";
      position: absolute;
      bottom: -30px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(0, 255, 255, 0.9);
      color: #000;
      padding: 5px 10px;
      border-radius: 4px;
      font-size: 12px;
      white-space: nowrap;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
    }

    .rs-listen-button:hover::before {
      opacity: 1;
      visibility: visible;
      bottom: -35px;
    }

    .rs-listen-button:hover i {
      animation: rs-colorChange 2s infinite;
    }

    @keyframes rs-colorChange {
      0% { color: #ff0000; }
      20% { color: #ff7700; }
      40% { color: #ffff00; }
      60% { color: #00ff00; }
      80% { color: #0000ff; }
      100% { color: #ff0000; }
    }

    .rs-listen-button::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle, transparent 30%, rgba(255, 255, 255, 0.3) 70%);
      animation: rs-pulseGlow 2s infinite;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-listen-button:hover::after {
      opacity: 1;
    }

    @keyframes rs-pulseGlow {
      0% {
        transform: scale(0.95);
        opacity: 0.5;
      }
      50% {
        transform: scale(1.1);
        opacity: 0.2;
      }
      100% {
        transform: scale(0.95);
        opacity: 0.5;
      }
    }

    .rs-carousel-button {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0, 255, 255, 0.2);
      border: none;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #00ffff;
      font-size: 1.5rem;
      transition: all 0.3s ease;
      z-index: 2;
      overflow: hidden; /* Add this for ripple effect */
    }

    .rs-carousel-button:hover {
      background: rgba(0, 255, 255, 0.2);
      transform: translateY(-50%) scale(1.1);
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-button::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle at center, rgba(0, 255, 255, 0.8) 0%, transparent 70%);
      transform: scale(0);
      opacity: 0;
      transition: transform 0.5s ease-out, opacity 0.3s ease;
    }

    .rs-carousel-button:hover::before {
      transform: scale(2);
      opacity: 0.3;
    }

    .rs-carousel-button:hover i {
      animation: arrowBounce 0.5s ease infinite alternate;
    }

    @keyframes arrowBounce {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(3px);
      }
    }

    .rs-carousel-button.rs-prev:hover i {
      animation: arrowBounceLeft 0.5s ease infinite alternate;
    }

    @keyframes arrowBounceLeft {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(-3px);
      }
    }

    .rs-carousel-button.rs-prev {
      left: 0;
    }

    .rs-carousel-button.rs-next {
      right: 0;
    }

    @keyframes rs-floatingNotesCard {
      0% {
        opacity: 0;
        transform: translate(0, 0) rotate(0deg);
      }
      50% {
        opacity: 1;
      }
      100% {
        opacity: 0;
        transform: translate(-50px, -50px) rotate(360deg);
      }
    }

    .rs-card-notes {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-radio-card:hover .rs-card-notes {
      opacity: 1;
    }

    .rs-card-note {
      position: absolute;
      font-size: 20px;
      color: #00ffff;
      animation: rs-floatingNotesCard 2s ease-out infinite;
    }

    .rs-card-note-1 { top: 10%; left: 10%; animation-delay: 0s; }
    .rs-card-note-2 { top: 5%; left: 30%; animation-delay: 0.3s; }
    .rs-card-note-3 { top: 15%; left: 50%; animation-delay: 0.6s; }
    .rs-card-note-4 { top: 8%; left: 70%; animation-delay: 0.9s; }
    .rs-card-note-5 { top: 12%; left: 90%; animation-delay: 1.2s; }

    .rs-radio-tag {
      position: absolute;
      top: 10px;
      right: 10px;
      padding: 5px 12px;
      font-size: 0.8rem;
      border-radius: 15px;
      background: rgba(0, 0, 0, 0.7);
      color: #fff;
      border: 1px solid #00ffff;
      box-shadow: 0 0 5px #00ffff,
                  inset 0 0 5px #00ffff;
      text-transform: uppercase;
      letter-spacing: 1px;
      transition: all 0.3s ease;
      transform-style: preserve-3d;
      perspective: 1000px;
      cursor: pointer;
    }
    
    .rs-radio-tag i {
      margin-right: 5px;
      color: #00ffff;
      text-shadow: 0 0 5px #00ffff,
                   0 0 10px #00ffff,
                   0 0 15px #00ffff;
    }

    /* Add hover effects */
    .rs-radio-tag:hover {
      transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      box-shadow: 0 0 15px #00ffff,
                  inset 0 0 10px #00ffff,
                  0 10px 20px rgba(0, 255, 255, 0.4);
      background: rgba(0, 255, 255, 0.1);
      letter-spacing: 2px;
      animation: tagFloat 1s ease-in-out infinite alternate;
    }

    /* Add new keyframe animation */
    @keyframes tagFloat {
      0% {
        transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      }
      100% {
        transform: translateZ(30px) rotateX(15deg) rotateY(-15deg);
        text-shadow: 2px 2px 4px rgba(0, 255, 255, 0.6);
      }
    }

    /* Add before/after elements for 3D effect */
    .rs-radio-tag::before {
      content: '';
      position: absolute;
      inset: -2px;
      background: linear-gradient(45deg, transparent, rgba(0, 255, 255, 0.3), transparent);
      transform: translateZ(-1px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag::after {
      content: '';
      position: absolute;
      inset: -1px;
      background: linear-gradient(-45deg, transparent, rgba(0, 255, 255, 0.2), transparent);
      transform: translateZ(-2px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag:hover::before,
    .rs-radio-tag:hover::after {
      opacity: 1;
    }

    @keyframes rs-floatingNotes {
      0% {
        transform: translateY(0) rotate(0deg) scale(1);
        opacity: 0;
      }
      50% {
        transform: translateY(-20px) rotate(180deg) scale(1.2);
        opacity: 1;
      }
      100% {
        transform: translateY(-40px) rotate(360deg) scale(1);
        opacity: 0;
      }
    }

    @media (max-width: 768px) {
      .rs-carousel-section {
        padding: 30px 0;
      }
      .rs-carousel-container {
        padding: 15px 20px; 
      }
      .rs-radio-card {
        min-width: 250px !important; /* Reduced by 20% from original 312.5px */
        flex: 0 0 250px !important; /* Reduced by 20% from original 312.5px */
      }
      /* Content size reductions */
      .rs-radio-logo {
        width: 84px !important;
        height: 84px !important;
      }
      .rs-radio-name {
        font-size: 1rem !important;
      }
      .rs-listen-button {
        width: 48px;
        height: 48px;
      }
    }

    @media (max-width: 480px) {
      .rs-carousel-section {
        padding: 20px 0;
      }
      .rs-carousel-container {
        padding: 0 30px; 
      }
      .rs-radio-card {
        min-width: 200px !important; /* Further reduced by 20% from tablet size */
        flex: 0 0 200px !important; /* Further reduced by 20% from tablet size */
      }
      /* Further reduce content for smallest screens */
      .rs-radio-logo {
        width: 76px !important;
        height: 76px !important;
        margin: 8px auto 12px !important;
      }
      .rs-radio-name {
        font-size: 0.9rem !important;
      }
      .rs-listen-button {
        width: 40px;
        height: 40px;
      }
    }

    /* Add this CSS inside the existing <style> tag */
    .rs-all-podcasts-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 12px 24px;
      margin: 30px auto 20px;
      background: linear-gradient(45deg, #00ffff, #00cccc);
      border: none;
      border-radius: 25px;
      color: #000;
      font-size: 1rem;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.3s ease;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
      position: relative;
      overflow: hidden;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .rs-all-podcasts-btn:hover {
      transform: translateY(-2px) scale(1.05);
      box-shadow: 
        0 0 20px rgba(0, 255, 255, 0.5),
        0 0 40px rgba(0, 255, 255, 0.2);
    }

    .rs-all-podcasts-btn::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, transparent 65%);
      transform: scale(0);
      transition: transform 0.6s ease-out;
    }

    .rs-all-podcasts-btn:hover::before {
      transform: scale(1) rotate(45deg);
    }

    .rs-all-podcasts-btn i {
      font-size: 1.2rem;
      color: #000;
    }
  </style>
</head>
<body>
  <div class="rs-carousel-section" id="radiostreamr-carousel-section">
    <h2 class="rs-title" id="radiostreamr-title" style="font-size: 28px; animation: textGlow 2s infinite; text-shadow: 0 0 10px rgba(0, 255, 255, 0.5), 0 0 20px rgba(0, 255, 255, 0.3), 0 0 30px rgba(0, 255, 255, 0.2); position: relative; padding-left: 15px; padding-right: 15px;">
  Ecoutez les meilleurs podcasts de la chaine Europe 1 :
</h2>
    
    <div class="rs-carousel-container" id="radiostreamr-container">
      <button class="rs-carousel-button rs-prev" id="radiostreamr-prev-button">
        <i class="fas fa-chevron-left"></i>
      </button>
      
      <div class="rs-carousel" id="radiostreamr-carousel" style="gap: 25px;">

        <!-- Skyrock -->
        <div class="rs-radio-card" id="radiostreamr-card-hondelatte" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/hondelatte-raconte-podcast.webp" alt="Hondelatte raconte" class="rs-radio-logo" style="width: 105px; height: 105px; margin: 10px auto 15px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Histoire prenante</span>
          <h2 class="rs-radio-name">
            <span>Hondelatte raconte</span>
            <span>Podcasts Hondelatte raconte</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-hondelatte-raconte/" class="rs-listen-button" style="margin: 15px auto 10px;">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Oui FM -->
        <div class="rs-radio-card" id="radiostreamr-card-On-marche-sur-la-tête" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-podcast-on-marche-sur-la-tete-cyril-hanouna-radiostreamr.webp" alt="On marche sur la tête logo" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-laugh"></i>Humour</span>
          <h2 class="rs-radio-name">
            <span>On marche sur la tête</span>
            <span>Podcasts On marche sur la tête</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-on-marche-sur-la-tete/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- FIP -->
        <div class="rs-radio-card" id="radiostreamr-card-Europe-1-Matin" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-matin-podcast.webp" alt="FIP Radio" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Matin</span>
            <span>Podcasts Europe 1 Matin</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-matin/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
        
        <!-- Add after the FIP card and before RMC -->
        <div class="rs-radio-card" id="radiostreamr-card-le-grand-rendez-vous" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/0x1900-000000-80-0-0.webp" alt="Le grand rendez-vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Le Grand Rendez-vous</span>
            <span>Podcasts Le Grand Rendez-vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-le-grand-rendez-vous//" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-pascal-praud" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/pascal-praud-podcast.webp" alt="Pascal Praud et vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Pascal Praud et vous</span>
            <span>Podcasts Pascal Praud et vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-pascal-praud/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-cheriefm" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-logo-radio-en-ligne.webp" alt="Charlotte d'Ornellas - Les signatures d'Europe 1" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Chronique actualité</span>
          <h2 class="rs-radio-name">
            <span>Charlotte d'Ornellas</span>
            <span>Podcasts Charlotte d'Ornellas</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-chronique-charlotte-dornellas/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- La Libre Antenne -->
        <div class="rs-radio-card" id="radiostreamr-card-libre-antenne" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/libre-antenne.webp" alt="La Libre Antenne" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-comments"></i>Discussion</span>
          <h2 class="rs-radio-name">
            <span>La Libre Antenne</span>
            <span>Podcasts La Libre Antenne</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-olivier-delacroix/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Il n'y a qu'une vie dans la vie -->
        <div class="rs-radio-card" id="radiostreamr-card-isabelle-morizet" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/isabelle-morizet-podcast.webp" alt="Il n'y a qu'une vie dans la vie" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-friends"></i>Interview</span>
          <h2 class="rs-radio-name">
            <span>Il n'y a qu'une vie dans la vie</span>
            <span>Podcasts Isabelle Morizet</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-isabelle-morizet/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 Soir -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-soir" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-soir-podcasts.webp" alt="Europe 1 Soir" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Soir</span>
            <span>Podcasts Europe 1 Soir</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-soir/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 13h -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-13h" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-13h-podcast.webp" alt="Europe 1 13h" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 13h</span>
            <span>Podcasts Europe 1 13h</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-13h/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Le Studio des Légendes -->
        <div class="rs-radio-card" id="radiostreamr-card-studio-legendes" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/le-studio-des-legendes-podcast.webp" alt="Le Studio des Légendes" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-star"></i>Culture</span>
          <h2 class="rs-radio-name">
            <span>Le Studio des Légendes</span>
            <span>Podcasts Le Studio des Légendes</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-studio-des-legendes/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe Soir Week-end -->
        <div class="rs-radio-card" id="radiostreamr-card-europe-soir-weekend" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-soir-week-end-podcast.webp" alt="Europe Soir Week-end" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe Soir Week-end</span>
            <span>Podcasts Europe Soir Week-end</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe-soir-week-end/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- L'heure des Pros -->
        <div class="rs-radio-card" id="radiostreamr-card-heure-pros" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/lheure-des-pros-podcast.webp" alt="L'heure des Pros" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>L'heure des Pros</span>
            <span>Podcasts L'heure des Pros</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-lheure-des-pros/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les années Top 50 -->
        <div class="rs-radio-card" id="radiostreamr-card-top-50" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/les-annees-top-50-podcast-europe1-1.webp" alt="Les années Top 50" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Musique</span>
          <h2 class="rs-radio-name">
            <span>Les années Top 50</span>
            <span>Podcasts Les années Top 50</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-top-50/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Face à Philippe de Villiers -->
        <div class="rs-radio-card" id="radiostreamr-card-philippe-villiers" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/philippe-de-villiers-podcast-europe1.webp" alt="Face à Philippe de Villiers" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-tie"></i>Politique</span>
          <h2 class="rs-radio-name">
            <span>Face à Philippe de Villiers</span>
            <span>Podcasts Face à Philippe de Villiers</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-face-a-philippe-de-villiers/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les histoires d'amour extraordinaires -->
        <div class="rs-radio-card" id="radiostreamr-card-histoires-amour" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/sophie-davant-podcast.webp" alt="Les histoires d'amour extraordinaires" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-heart"></i>Romance</span>
          <h2 class="rs-radio-name">
            <span>Les histoires d'amour extraordinaires</span>
            <span>Podcasts Les histoires d'amour extraordinaires</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-histoires-damour-extraordinaires/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Au Coeur de l'Histoire -->
        <div class="rs-radio-card" id="radiostreamr-card-coeur-histoire" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/podcast-au-coeur-de-lhistoire.webp" alt="Au Coeur de l'Histoire" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-book-open"></i>Histoire</span>
          <h2 class="rs-radio-name">
            <span>Au Coeur de l'Histoire</span>
            <span>Podcasts Au Coeur de l'Histoire</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-au-coeur-de-lhistoire/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
      </div>

      <button class="rs-carousel-button rs-next" id="radiostreamr-next-button">
        <i class="fas fa-chevron-right"></i>
      </button>
    </div>
    <a href="https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/podcast-europe1" class="rs-all-podcasts-btn">
      <i class="fas fa-podcast"></i>
      Voir tous les podcasts
    </a>
  </div>

  <script>
    (function() {
      class RadioStreamrCarousel {
        constructor(selector) {
          this.container = document.querySelector(selector);
          this.carousel = this.container.querySelector('.rs-carousel');
          this.allCards = Array.from(this.container.querySelectorAll('.rs-radio-card')); // Store all cards
          this.prevButton = this.container.querySelector('.rs-carousel-button.rs-prev');

          // Select random 9 cards
          this.selectRandomCards();
          
          // Initialize properties after cards are selected
          this.cards = Array.from(this.container.querySelectorAll('.rs-radio-card'));
          this.currentIndex = 0;
          this.cardWidth = this.cards[0].offsetWidth + 20;
          this.cardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
          this.maxIndex = this.cards.length - this.cardsPerView;
          this.nextButton = this.container.querySelector('.rs-carousel-button.rs-next');

          this.init();
        }

        selectRandomCards() {
          // Remove all cards from carousel
          this.allCards.forEach(card => card.remove());

          // Randomly select 9 cards
          const shuffled = [...this.allCards].sort(() => 0.5 - Math.random());
          const selected = shuffled.slice(0, 14);
          
          // Add selected cards back to carousel
          selected.forEach(card => {
            this.carousel.appendChild(card);
          });
        }

        init() {
          this.bindEvents();
        }

        scrollToIndex(index) {
          // Handle infinite loop
          if (index < 0) {
            this.currentIndex = this.cards.length - this.cardsPerView;
          } else if (index > this.maxIndex) {
            this.currentIndex = 0;
          } else {
            this.currentIndex = index;
          }
          
          // Add scrolling class to cards
          this.cards.forEach(card => {
            card.classList.add('rs-scrolling');
            setTimeout(() => card.classList.remove('rs-scrolling'), 500);
          });

          // Scroll with animation
          this.carousel.scrollTo({
            left: this.currentIndex * this.cardWidth,
            behavior: 'smooth'
          });

          // Create floating notes effect
          const notes = ['♪', '♫', '♬'];
          for(let i = 0; i < 3; i++) {
            const note = document.createElement('span');
            note.textContent = notes[Math.floor(Math.random() * notes.length)];
            note.style.cssText = `
              position: absolute;
              color: #00ffff;
              font-size: 24px;
              top: ${50 + Math.random() * 100}px;
              left: ${50 + Math.random() * (this.carousel.offsetWidth - 100)}px;
              animation: rs-floatingNotes 1s ease-out ${i * 0.2}s forwards;
              pointer-events: none;
            `;
            this.carousel.appendChild(note);
            setTimeout(() => note.remove(), 1000 + i * 200);
          }
        }

        bindEvents() {
          this.prevButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex - 1));
          this.nextButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex + 1));

          window.addEventListener('resize', () => {
            const newCardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
            const newMaxIndex = this.cards.length - newCardsPerView;
            this.currentIndex = Math.min(this.currentIndex, newMaxIndex);
            this.scrollToIndex(this.currentIndex);
          });
        }
      }

      document.addEventListener('DOMContentLoaded', function() {
        new RadioStreamrCarousel('.rs-carousel-section');
      });
    })();
  </script>
</body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-0d0797d e-con-full e-flex e-con e-parent" data-id="0d0797d" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
				<div class="elementor-element elementor-element-9260360 elementor-widget elementor-widget-shortcode" data-id="9260360" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"></div>
						</div>
				</div>
				</div>
				</div>
		<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-la-voix-est-livre/">🗣️ Podcast et Replay &#8211; La Voix est Livre &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://radiostreamr.com/radio-france/podcast-la-voix-est-livre/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🗣️ Podcast et Replay &#8211; La France bouge &#8211; Europe 1</title>
		<link>https://radiostreamr.com/radio-france/podcast-la-france-bouge/</link>
					<comments>https://radiostreamr.com/radio-france/podcast-la-france-bouge/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 11 Nov 2024 14:56:34 +0000</pubDate>
				<category><![CDATA[Europe 1]]></category>
		<category><![CDATA[Podcast]]></category>
		<guid isPermaLink="false">https://radiostreamr.com/radio-france/?p=1075</guid>

					<description><![CDATA[<p>La France bouge d&#8217;Elisabeth Assayag &#8211; Écoutez tous les podcasts Europe 1 en rediffusion Plus récentsPlus anciens Publicité Elisabeth Assayag &#8211; La France bouge : un rendez-vous quotidien avec les entrepreneurs innovants Voir leur Facebook Voir leur Instagram Voir leur site web Chaque jour dans La France bouge sur Europe 1, Elisabeth Assayag met en [&#8230;]</p>
<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-la-france-bouge/">🗣️ Podcast et Replay &#8211; La France bouge &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="1075" class="elementor elementor-1075" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-dce457e e-con-full e-flex e-con e-parent" data-id="dce457e" data-element_type="container">
				<div class="elementor-element elementor-element-9f9be1c 1995 elementor-widget elementor-widget-html" data-id="9f9be1c" data-element_type="widget" id="1995" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<!DOCTYPE html><html><head><meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&amp;display=swap" rel="stylesheet">
<style>
    .rtl-podcast-player * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Roboto', sans-serif;
    }

  .rtl-podcast-player #pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
}

@keyframes gradientBG {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.rtl-podcast-player body {
    background: linear-gradient(-45deg, #0a192f, #172a45, #1a365d, #102235);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    min-height: 100vh;
    display: flex;
    align-items: center;
    color: #fff;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

    .rtl-podcast-player .container {
        display: grid;
        grid-template-columns: 1.2fr 2.8fr;
        gap: 20px;
        margin: 0 auto;
        padding: 50px 150px !important;
        width: 100%;
        background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
        background-size: 400% 400%;
        animation: gradientBG 15s ease infinite;
        border-radius: 0;
        box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);
    }


    @media (max-width: 1024px) {
        .rtl-podcast-player .container {
            padding: 30px 45px;
            grid-template-columns: 1fr 2fr;
        }
        
        .rtl-podcast-player h1 {
            font-size: 2em;
        }
    }


    @media (max-width: 768px) {
        .rtl-podcast-player .container {
            padding: 20px !important; /* Override padding */
            margin: 0 !important; /* Reset margin */
            width: 100% !important;
            max-width: 100% !important;
            grid-template-columns: 1fr;
            overflow-x: hidden; /* Prevent horizontal scroll */
        }
        
        .rtl-podcast-player #episode-grid,
        .rtl-podcast-player .episode,
        .rtl-podcast-player #featured-episode,
        .rtl-podcast-player .host-biography,
        .rtl-podcast-player .social-share-buttons {
            width: 100% !important;
            margin-left: auto !important;
            margin-right: auto !important;
            padding: 15px !important;
        }
        
        .rtl-podcast-player h1,
        .rtl-podcast-player h2,
        .rtl-podcast-player p {
            padding-left: 10px !important;
            padding-right: 10px !important;
            text-align: center;
        }

        .rtl-podcast-player #episode-grid {
            grid-template-columns: 1fr !important; /* Force single column */
            gap: 20px;
        }
        
        .rtl-podcast-player .episode {
            width: 100% !important;
            margin: 0 auto !important;
        }
    }


@media (max-width: 480px) {
    .rtl-podcast-player .container {
        padding: 10px !important;
    }
    
    .rtl-podcast-player #featured-episode,
    .rtl-podcast-player .episode {
        padding: 15px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }
}

.rtl-podcast-player h1 {
    color: #00ffff;
    text-align: center;
    font-size: 2.3em;
    margin-bottom: 40px;
    font-weight: 700;
    width: 100%;
    grid-column: 1 / -1;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.3);
}

  #fixed-player-bar {
        display: flex;               /* Assure l'affichage en flex */
        flex-direction: column;       /* Organisation en colonne */
        align-items: center;          /* Centre les éléments */
        padding: 10px;
        gap: 10px;                    /* Espace entre chaque ligne */
        background: rgba(26, 26, 26, 0.95); /* Conserve l’arrière-plan */
        display: none;                /* Masqué par défaut */
    }

    /* Ligne 1 : Titre de l'épisode */
    #fixed-player-title {
        display: block;               /* Force l'affichage sur une ligne complète */
        text-align: center;
        font-size: 1.2em;
        color: #00ffff;
        width: 100%;                  /* Prend la largeur complète */
    }

    /* Ligne 2 : Player audio */
    #fixed-player-audio {
        display: block;               /* Force l'affichage sur une ligne complète */
        width: 100%;
    }

    /* Ligne 3 : Conteneur pour les boutons Chromecast et fermeture */
    .audio-controls-container {
        display: flex;
        justify-content: center;
        gap: 20px;
        width: 100%;                  /* Assure une disposition sur toute la largeur */
    }

    /* Styles des boutons */
    #chromecast-button, #close-fixed-player {
        width: 40px;
        height: 40px;
        border: none;
        cursor: pointer;
    }
}

  @media (max-width: 768px) {
    .rtl-podcast-player h1 {
        margin-top: 0px !important; /* Ajustez la valeur selon vos besoins */
    }
}
  
.rtl-podcast-player #featured-episode {
    /* Remplacer ces styles */
    display: flex;
    flex-direction: column;
    height: 100%; /* Ajout de cette ligne */
    padding: 30px;
    border-radius: 15px;
    background-color: transparent;
    color: #ffffff;
    transition: all 0.3s ease;
}

.rtl-podcast-player #featured-episode:hover {
    transform: translateY(-5px);
}

.rtl-podcast-player #featured-episode h3 {
    color: #00ffff;
    margin-bottom: 15px;
    font-weight: 500;
}

.rtl-podcast-player #featured-episode button, .rtl-podcast-player .episode button {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    padding: 0;
    background-image: url('https://static.vecteezy.com/system/resources/thumbnails/017/196/540/small/3d-play-button-icon-transparent-background-free-png.png');
    background-size: 35px;
    background-position: center;
    background-repeat: no-repeat;
    font-size: 0;
    position: relative;
}

    .rtl-podcast-player .date-badge {
        background: rgba(0, 255, 255, 0.1);
        border: 2px solid #00ffff;
        border-radius: 8px;
        padding: 8px 15px;
        color: #00ffff;
        font-weight: bold;
        text-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
        box-shadow: 
            0 0 5px rgba(0, 255, 255, 0.2),
            0 0 10px rgba(0, 255, 255, 0.2),
            0 0 15px rgba(0, 255, 255, 0.2),
            0 0 20px rgba(0, 255, 255, 0.2);
        animation: neonPulse 1.5s ease-in-out infinite;
        margin: 15px auto 20px auto; /* Increased bottom margin */
        display: block; /* Changed from inline-block to block */
        width: fit-content;
    }

    @keyframes neonPulse {
        0%, 100% {
            box-shadow: 
                0 0 5px rgba(0, 255, 255, 0.2),
                0 0 10px rgba(0, 255, 255, 0.2),
                0 0 15px rgba(0, 255, 255, 0.2),
                0 0 20px rgba(0, 255, 255, 0.2);
        }
        50% {
            box-shadow: 
                0 0 10px rgba(0, 255, 255, 0.4),
                0 0 20px rgba(0, 255, 255, 0.4),
                0 0 30px rgba(0, 255, 255, 0.4),
                0 0 40px rgba(0, 255, 255, 0.4);
        }
    }


.rtl-podcast-player #featured-episode img,
.rtl-podcast-player .episode img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .modal-content img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .episode button:hover::after,
.rtl-podcast-player #featured-episode button:hover::after {
    content: "Ecouter ce podcast";
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap;
    z-index: 1000;
}

.rtl-podcast-player #featured-episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #episode-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

    .rtl-podcast-player .episode {
        padding: 20px;
        border-radius: 15px;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.1);
        text-align: center;
        background-color: #1a1a1a;
        transition: all 0.3s ease;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .rtl-podcast-player .episode p {
        color: #ffffff;
    }


.rtl-podcast-player .episode:hover {
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);
    transform: translateY(-3px);
}

.rtl-podcast-player .episode h5 {
    margin-bottom: 10px;
    color: #00ffff;
}

.rtl-podcast-player .episode a {
    color: #00ffff;
    text-decoration: none;
}

    .rtl-podcast-player .episode button:hover {
        background-color: #00cccc;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }
    
    .search-filter-container {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        margin-bottom: 30px;
        width: 100%;
    }

    .search-filter-container input,
    .search-filter-container select {
        padding: 10px 15px;
        border: 2px solid #00ffff;
        border-radius: 8px;
        background: rgba(0, 0, 0, 0.3);
        color: #fff;
        font-size: 16px;
        width: 200px;
    }

    .search-filter-container input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }

    .search-filter-container input:focus,
    .search-filter-container select:focus {
        outline: none;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
    }

    .search-filter-container select {
        cursor: pointer;
    }

    .search-filter-container select option {
        background-color: #1a1a1a;
        color: #fff;
    }

    @media (max-width: 768px) {
        .search-filter-container {
            flex-direction: column;
            gap: 10px;
        }

        .search-filter-container input,
        .search-filter-container select {
            width: 100%;
            max-width: 300px;
        }
    }

    color: #000;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-top: 10px; /* Add space above button */
    display: block; /* Ensure block-level display */
    margin-left: auto;
    margin-right: auto;
}

.rtl-podcast-player .episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player .pagination {
    text-align: center !important;
    margin-top: 30px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
}

  .rtl-podcast-player #page-numbers {
    display: flex !important;
    gap: 5px !important;
    margin: 0 5px !important;
}
  
.rtl-podcast-player .pagination button,
.rtl-podcast-player .pagination #prev-btn,
.rtl-podcast-player .pagination #next-btn {
    margin: 0 !important;  /* Changé de 5px à 0 */
    padding: 8px 16px;
    font-size: 1em;
    background-color: #1a1a1a;
    color: #00ffff;
    border: 1px solid #00ffff;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rtl-podcast-player .pagination button:hover {
    background-color: #00ffff;
    color: #000;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
}

.rtl-podcast-player .modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
}

.rtl-podcast-player .modal-content {
    background-color: #1a1a1a;
    padding: 40px;
    border: 2px solid #00ffff;
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: auto;
    color: white;
}

.rtl-podcast-player .close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: #00ffff;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
}

.rtl-podcast-player .close:hover {
    color: #00cccc;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #chromecast-button {
    background-color: #00ffff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    color: #000;
    margin-top: 20px;
    font-weight: bold;
    display: inline-block;
}

.rtl-podcast-player audio::-webkit-media-controls-panel {
    background-color: #2a2a2a;
}

.rtl-podcast-player audio::-webkit-media-controls-current-time-display,
.rtl-podcast-player audio::-webkit-media-controls-time-remaining-display {
    color: #000000;
}

.rtl-podcast-player #fixed-player-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(26, 26, 26, 0.95);
    backdrop-filter: blur(10px);
    padding: 10px 20px;
    z-index: 999;
    border-top: 2px solid #00ffff;
}

.rtl-podcast-player .fixed-player-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    gap: 20px;
}


.rtl-podcast-player #fixed-player-title {
    color: #00ffff;
    font-size: 1em;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.rtl-podcast-player #fixed-player-audio {
    flex: 2;
    max-width: 500px;
}

.episode-card {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(0, 255, 255, 0.3);
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.episode-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 255, 255, 0.2);
}

.episode-card img {
    width: 100%;
    max-width: 200px;
    border-radius: 10px;
    margin: 10px 0;
}

.episode-card button {
    margin-top: 10px;
}
  
/* Conserve les styles des boutons play et mute */
audio::-webkit-media-controls-play-button,
audio::-webkit-media-controls-mute-button {
    background-color: #40E0D0 !important; /* Bleu turquoise */
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
}

audio::-webkit-media-controls-play-button:hover,
audio::-webkit-media-controls-mute-button:hover {
    background-color: #5FECEC !important; /* Bleu turquoise plus clair au survol */
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5) !important;
}

/* Tentative pour changer la couleur du trait de progression */
audio::-webkit-media-controls-timeline {
    color: #a6a6a6 !important; /* Essaye de cibler le trait turquoise */
}

/* Modifie la couleur des trois petits points */
audio::-webkit-media-controls-panel {
    background-color: transparent !important; /* Assure que le fond ne prend pas de couleur */
    color: #40E0D0 !important; /* Forcer la couleur turquoise pour les trois points */
}

/* Tentative supplémentaire pour cibler le trait du curseur de progression */
audio::-webkit-slider-runnable-track {
    background-color: #40E0D0 !important; /* Bleu turquoise pour la piste */
}

audio::-webkit-slider-thumb {
    background-color: #a6a6a6 !important; /* Plus clair pour le curseur lui-même */
}


@media (max-width: 768px) {
    .rtl-podcast-player .fixed-player-content {
        flex-direction: column;
        gap: 10px;
        padding: 15px;
    }

    .rtl-podcast-player #fixed-player-audio {
        width: 100%;
        max-width: 100%;
    }

    .rtl-podcast-player #fixed-player-title {
        width: 100%;
        text-align: center;
        font-size: 0.9em;
    }
}

.rtl-podcast-player .social-button {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease-in-out;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.rtl-podcast-player .social-button:hover {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .rtl-podcast-player .social-share-buttons {
        gap: 10px;
    }
    
    .rtl-podcast-player .social-button {
        width: 40px;
        height: 40px;
    }
    
    .rtl-podcast-player .social-button svg {
        width: 20px;
        height: 20px;
    }
}

.navigation-buttons {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    pointer-events: none;
    z-index: 1000;
}

.nav-button {
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid #00ffff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    pointer-events: auto;
}  

.nav-button:hover {
    background: rgba(0, 255, 255, 0.2);
    transform: scale(1.1);
}

.nav-button svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 768px) {
    .nav-button {
        width: 35px;
        height: 35px;
    }
    
    .nav-button svg {
        width: 20px;
        height: 20px;
    }
}
</style>
<script type="text/javascript" src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js"></script>

</head><body>
<div class="rtl-podcast-player">
    <div class="container" style="background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    border-radius: 0; /* Changed from 20px to 0 */
    box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);">
    <h1 style="color: #00ffff; text-align: center; font-size: 2.1em; margin-bottom: 40px; font-weight: 700; width: 100%; grid-column: 1 / -1; text-shadow: 0 0 10px rgba(0, 255, 255, 0.3); padding: 0 15px; display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap;">
La France bouge d'Elisabeth Assayag - Écoutez tous les podcasts Europe 1 en rediffusion
<img decoding="async" src="https://cdn-europe1.lanmedia.fr/var/europe1/storage/images/europe1/animateurs/europe-12/53472641-3-fre-FR/Europe-1.png" alt="Logo Europe 1" style="width: 60px; height: 60px; border-radius: 50%; padding: 5px; background: white; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);">
</h1>
    <div class="social-share-buttons" style="display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 30px; width: 100%; grid-column: 1 / -1;">
    <button onclick="shareOnX()" class="social-button" style="background-color: #000;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path>
        </svg>
    </button>
    <button onclick="shareOnWhatsapp()" class="social-button" style="background-color: #25D366;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"></path>
        </svg>
    </button>
    <button onclick="shareOnFacebook()" class="social-button" style="background-color: #1877F2;">  
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path>
        </svg>
    </button>
    <button onclick="shareOnLinkedIn()" class="social-button" style="background-color: #0A66C2;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path>
        </svg>
    </button>
</div>
      
    <div id="featured-episode" style="display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: space-between; gap: 20px; height: 100%; position: relative; padding-top: 20px; cursor: pointer;">
  <div class="features-episode" style="width: 100%; height: 100%;">
    <!-- Première carte (dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
            
    <!-- Deuxième carte (avant-dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
  </div>
</div>
    <div>
    <div class="search-filter-container">
        <input type="text" id="podcast-search" placeholder="Rechercher un podcast..." oninput="filterAndDisplayEpisodes()">
        <select id="podcast-filter" onchange="filterAndDisplayEpisodes()">
            <option value="newest">Plus récents</option>
            <option value="oldest">Plus anciens</option>
        </select>
    </div>
    <div id="episode-grid">
        <style>
            .episode {
                cursor: pointer;
            }
            
            .episode > * {
                pointer-events: none;
            }
            
            .episode button {
                pointer-events: auto;
            }
        </style>
    </div>
    <div class="pagination" id="pagination">
    <button id="prev-btn" onclick="changePage('prev')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M15 18l-6-6 6-6"></path>
        </svg>
    </button>
    <span id="page-numbers"></span>
    <button id="next-btn" onclick="changePage('next')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M9 18l6-6-6-6"></path>
        </svg>
    </button>
</div>

      <div class="ad-banner" style="width: 100%; max-width: 508px; margin: 20px auto; text-align: center; grid-column: 1 / -1; background: rgba(0,0,0,0.3); padding: 15px; border-radius: 10px; border: 1px solid rgba(0, 255, 255, 0.2); transition: transform 0.3s ease;">
    <p style="color: #666; font-size: 12px; margin-bottom: 10px;">Publicité</p>
    <a href="https://universal-academy.com/recruter-des-alternants-dans-le-tourisme/" target="_blank" style="display: inline-block;">
        <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/Design-sans-titre-2024-11-06T134332.299.webp" alt="Bannière publicitaire RTL" style="width: 100%; max-width: 700px; height: auto; border-radius: 8px; transition: transform 0.3s ease;" onmouseover="this.style.transform='scale(1.02)'" onmouseout="this.style.transform='scale(1)'">
    </a>
</div>

    <script>
        // Ajouter un event listener pour les cartes d'épisodes
        document.getElementById('episode-grid').addEventListener('click', (e) => {
            const episodeCard = e.target.closest('.episode');
            if (episodeCard) {
                // Trouver le bouton dans la carte et simuler un clic dessus
                const button = episodeCard.querySelector('button');
                if (button) {
                    button.click();
                }
            }
        });
    </script>
</div>
    
    <div class="host-biography" style="grid-column: 1 / -1; background: rgba(0, 0, 0, 0.3); padding: 30px; border-radius: 15px; margin-top: 30px; border: 1px solid rgba(0, 255, 255, 0.2);">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
        <!-- Media query pour passer en une colonne sur mobile -->
        <style>
            @media (max-width: 768px) {
                .host-biography > div {
                    grid-template-columns: 1fr !important;
                }
            }
        </style>

      <div class="host-biography" style="grid-column: 1 / -1; padding: 30px; border-radius: 15px; margin-top: 30px;">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
      <div style="grid-column: 1 / -1; margin-bottom: 30px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">Elisabeth Assayag - La France bouge : un rendez-vous quotidien avec les entrepreneurs innovants</h2>

    <!-- Nouveaux boutons de réseaux sociaux -->
    <div style="display: flex; justify-content: center; align-items: center; gap: 20px; margin: 20px 0;">
        <a href="https://www.facebook.com/Europe1/?locale=fr_FR" target="_blank" style="position: relative; width: 50px; height: 50px; background: #1877F2; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Facebook</span>
</a>

        <a href="https://www.instagram.com/europe1/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #E4405F; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Instagram</span>
</a>

        <a href="https://www.europe1.fr/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #00ffff; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#000000">
        <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur site web</span>
</a>
    </div>

    <style>
        /* Hover effects pour les boutons */
        .host-biography a:hover {
            transform: scale(1.1);
            box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
        }
        
        .host-biography a:hover span {
            opacity: 1;
        }

        /* Media queries pour le responsive */
        @media (max-width: 768px) {
            .host-biography div[style*="display: flex"] {
                flex-wrap: wrap;
                justify-content: center;
                gap: 15px;
            }
        }
    </style>

    <p style="color: #ffffff; line-height: 1.6; text-align: center; max-width: 1200px; margin: 0 auto;">
    Chaque jour dans La France bouge sur Europe 1, Elisabeth Assayag met en lumière les entrepreneurs et innovateurs qui font bouger la France. L'émission donne la parole aux femmes et aux hommes qui entreprennent, innovent et développent des solutions pour l'avenir. À travers des interviews dynamiques et des échanges constructifs, Elisabeth Assayag explore les success stories, les nouveaux concepts et les innovations qui transforment notre quotidien. L'émission aborde des thématiques variées comme l'environnement, la technologie, la santé, l'éducation ou encore l'économie sociale et solidaire. Chaque jour, des porteurs de projets partagent leur vision, leurs défis et leurs réussites, inspirant ainsi les auditeurs et mettant en valeur le dynamisme entrepreneurial français.
</p>
    
    <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 30px; padding: 20px;">
        <!-- Les 6 cartes existantes restent inchangées -->
        <!-- Carte 1 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M3 18v-6a9 9 0 0 1 18 0v6"></path>
                <path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"></path>
            </svg>
            <p style="color: #ffffff; margin: 0;">Écouter gratuitement tous les podcasts en streaming</p>
        </div>

        <!-- Carte 2 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                <polyline points="7 10 12 15 17 10"></polyline>
                <line x1="12" y1="15" x2="12" y2="3"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Télécharger les épisodes pour une écoute hors-ligne</p>
        </div>

        <!-- Carte 3 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"></path>
                <line x1="2" y1="20" x2="2" y2="20"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Diffuser sur votre Chromecast ou appareil compatible</p>
        </div>

        <!-- Carte 4 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <polygon points="10 8 16 12 10 16 10 8"></polygon>
            </svg>
            <p style="color: #ffffff; margin: 0;">Accéder à toutes les rediffusions des émissions précédentes</p>
        </div>

        <!-- Carte 5 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
        <circle cx="9" cy="7" r="4"></circle>
        <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
        <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Découvrez "La France bouge" sur Europe 1, où Elisabeth Assayag présente les entrepreneurs innovants qui transforment notre pays. Une émission dynamique qui inspire.</p>
</div>

        <!-- Carte 6 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px; position: relative;" onmouseover="this.style.transform='translateY(-5px)'; document.getElementById('live-tooltip').style.opacity='1'" onmouseout="this.style.transform='translateY(0)'; document.getElementById('live-tooltip').style.opacity='0'" onclick="window.location.href='https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/'">
    <div id="live-tooltip" style="position: absolute; top: -40px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); color: #fff; padding: 8px 15px; border-radius: 5px; font-size: 14px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; border: 1px solid #00ffff; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">
        Cliquez pour écouter en direct "Europe 1 13h"
    </div>
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M4 12h1"></path>
        <path d="M9 12h1"></path>
        <path d="M14 12h1"></path>
        <path d="M19 12h1"></path>
        <rect x="2" y="8" width="20" height="12" rx="2"></rect>
        <path d="M6 8V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4"></path>
        <circle cx="12" cy="14" r="4"></circle>
        <path d="M12 10v8"></path>
        <path d="M8 14h8"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Ou écouter en direct "La France bouge" sur Europe 1 avec Elisabeth Assayag, qui met en lumière les entrepreneurs innovants qui font bouger la France</p>
    <p style="color: #00ffff; margin-top: 10px; font-weight: bold; font-size: 0.8em;">
    21H00 - 22H00 : Lundi, Mardi, Mercredi, Jeudi
</p>
</div>
    </div>
</div>
        
        <!-- Histoire de l'émission -->
        <div style="padding: 20px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">L'Histoire de La France bouge</h2>
    <p style="color: #ffffff; line-height: 1.6; text-align: center;">
        La France bouge est une émission phare d'Europe 1 présentée par Elisabeth Assayag. Cette émission dynamique met en lumière les entrepreneurs et innovateurs qui font avancer la France. À travers des interviews et des échanges constructifs, l'émission donne la parole à celles et ceux qui entreprennent, innovent et développent des solutions pour l'avenir.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        Du lundi au jeudi, Elisabeth Assayag accueille des entrepreneurs visionnaires qui partagent leurs projets innovants dans des domaines variés : environnement, technologie, santé, éducation, économie sociale et solidaire. L'émission est devenue un rendez-vous incontournable pour découvrir les initiatives qui façonnent la France de demain.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        Avec son format dynamique et sa capacité à mettre en valeur le talent entrepreneurial français, La France bouge s'est imposée comme une vitrine de l'innovation et de l'entrepreneuriat. L'émission inspire et encourage une nouvelle génération d'entrepreneurs tout en célébrant ceux qui osent entreprendre et innover.
    </p>
    <div style="margin-top: 30px;">
        <img decoding="async" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ5xUmauu1sQldp6cCqbV8MnZ5htpd7M5KUnA&s" alt="La France bouge sur Europe 1" style="width: 96%; max-width: 360px; height: auto; border-radius: 15px; object-fit: cover;">
    </div>
</div>

        <!-- Biographie de Laurent Ruquier -->
        <div style="display: flex; flex-direction: column; align-items: center; gap: 20px;">
    <div style="width: 200px; height: 200px; border-radius: 50%; overflow: hidden; border: 3px solid #00ffff;">
        <img decoding="async" src="https://pbs.twimg.com/profile_images/1493236743885176834/bnj_feGy_400x400.jpg" alt="Portrait de l'animatrice, style professionnel" style="width: 100%; height: 100%; object-fit: cover;">
    </div>
    <div style="text-align: center;">
        <h2 style="color: #00ffff; margin-bottom: 20px;">Élisabeth Assayag - Une passionnée à la tête de "La France bouge" sur Europe 1</h2>
        <p style="color: #ffffff; line-height: 1.8;">
Chaque jour de la semaine, Élisabeth Assayag anime avec conviction et dynamisme "La France bouge" sur Europe 1. Son émission, qui met en avant les initiatives et les acteurs du changement en France, est devenue une référence incontournable pour tous ceux qui s'intéressent aux innovations et aux solutions d'avenir.

Grâce à son talent journalistique, Élisabeth Assayag parvient à donner la parole à ceux qui font bouger les lignes, qu'ils soient entrepreneurs, créateurs ou artisans du quotidien. Elle excelle dans l'art de rendre l'information claire et inspirante, en faisant ressortir des témoignages concrets et des histoires humaines marquantes.

Son style direct et son enthousiasme communicatif transforment chaque épisode en une véritable fenêtre ouverte sur le dynamisme de la société française. Élisabeth sait poser les bonnes questions, tout en écoutant avec attention les intervenants, ce qui permet de saisir pleinement les enjeux abordés.

Avec son approche positive, elle met en lumière les solutions et les initiatives qui contribuent au développement économique, social, et environnemental de la France. Élisabeth Assayag, par son professionnalisme et sa passion, fait de "La France bouge" un rendez-vous enrichissant et motivant pour tous ceux qui veulent comprendre et participer au changement.
        </p>
    </div>
</div>

        <!-- Sources (span across both columns) -->
        <div style="grid-column: 1 / -1; margin-top: 20px; padding: 15px; background: rgba(0, 0, 0, 0.2); border-radius: 10px; text-align: center;">
    <h3 style="color: #00ffff; margin-bottom: 10px; font-size: 1.2em;">Sources :</h3>
    <ul style="list-style: none; padding: 0; text-align: center; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
        <li>
            <a href="https://www.europe1.fr/animateurs/elisabeth-assayag2" target="_blank" style="color: #00ffff; text-decoration: none; transition: all 0.3s; padding: 5px 10px; border-radius: 5px; display: inline-block; &amp;:hover { background: rgba(0, 255, 255, 0.1); transform: translateY(-2px); box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); }">• Europe 1 - Page officielle de Elisabeth Assayag sur Europe 1</a>
        </li>
    </ul>
</div>
    </div>
</div>

</div>

    <div id="player-modal" class="modal">
        <div class="modal-content">
    <span class="close" onclick="closeModal()">×</span>
    <div class="navigation-buttons">
        <button id="prev-episode" onclick="navigateEpisode('prev')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M15 18l-6-6 6-6"></path>
            </svg>
        </button>
        <button id="next-episode" onclick="navigateEpisode('next')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M9 18l6-6-6-6"></path>
            </svg>
        </button>
    </div>
    <div id="player-content">
    <style>
        /* Styles existants */
        .modal-content {
            background-color: #1a1a1a;
            padding: 40px;
            border: 2px solid #00ffff;
            width: 90%;
            max-width: 500px;
            max-height: 90vh;
            border-radius: 20px;
            text-align: center;
            box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
            position: fixed; /* Changé de absolute à fixed */
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) !important; /* Ajout de !important */
            overflow-y: auto;
            color: white;
        }

        /* Change la couleur du timing en noir */
        audio::-webkit-media-controls-time-display {
            color: #000000 !important;
        }

        /* Ajout de media queries pour le mobile */
        @media (max-width: 768px) {
            .modal-content {
                padding: 30px;
                width: 95%;
                margin: 0 auto;
                position: fixed;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%) !important;
            }
        }

        @media (max-height: 600px) {
            .modal-content {
                max-height: 85vh;
            }
        }
    </style>
</div>
    <button id="chromecast-button" onclick="startChromecast()" style="width: 60px; height: 60px; border-radius: 50%; padding: 0; background-image: url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png'); background-size: 35px; background-position: center; background-repeat: no-repeat; font-size: 0;"></button>
</div>
    </div>

    <div id="fixed-player-bar" class="rtl-podcast-player" style="display: none;">
    <div class="fixed-player-content">
        <h3 id="fixed-player-title"></h3>
        <div class="audio-controls-container" style="display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%; max-width: 800px; margin: 0 auto;">
            <audio id="fixed-player-audio" controls="">
                <source src="" type="audio/mpeg">
            </audio>
            <button onclick="startChromecast()" style="width: 40px; height: 40px; min-width: 40px; border-radius: 50%; padding: 0; background: #ffffff url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png') center/25px no-repeat; border: 2px solid #00ffff; font-size: 0; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">Cast to Chromecast</button>
            <button id="close-fixed-player" onclick="closeFixedPlayer()" style="background: none; border: none; color: #00ffff; font-size: 24px; cursor: pointer; padding: 5px; min-width: 24px; display: flex; align-items: center; justify-content: center;">×</button>
        </div>
    </div>
</div>

    <script>
    (function RTLPodcastPlayer() {
        // Initialize cast api
        window.__onGCastApiAvailable = function(isAvailable) {
            if (!isAvailable) return;

            const initializeCastApi = function() {
                const sessionRequest = new chrome.cast.SessionRequest(chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);
                const apiConfig = new chrome.cast.ApiConfig(
                    sessionRequest,
                    sessionListener,
                    receiverListener
                );
                chrome.cast.initialize(apiConfig, onInitSuccess, onError);
            };

            const sessionListener = function(session) {
                console.log('Session listener', session);
            };

            const receiverListener = function(availability) {
                console.log('Receiver listener', availability);
            };

            const onInitSuccess = function() {
                console.log('Cast initialization success');
            };

            const onError = function(error) {
                console.error('Cast initialization error', error);
            };

            if (!chrome.cast || !chrome.cast.isAvailable) {
                setTimeout(initializeCastApi, 1000);
            } else {
                initializeCastApi();
            }
        };

        const rssUrl = "https://www.europe1.fr/rss/podcasts/europe-1-midi-duchemin.xml";
        const proxyUrl = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(rssUrl)}&api_key=int3lqiwwrpnsvem6yki0mtwki2f4qcvcxtrlyea&count=50`;
        const episodesPerPage = 4;
        let currentPage = 1;
        let currentAudioUrl = '';
        let totalPages = 0;

        // Ajouter ces variables au début du script
        let currentEpisodeIndex = 0;
        let allEpisodes = [];
        let filteredEpisodes = [];

        fetch(proxyUrl)
            .then(response => response.json())
            .then(data => {
                if (data.status !== "ok") {
                    throw new Error("Erreur de chargement du flux RSS.");
                }
                allEpisodes = data.items;
                filteredEpisodes = [...allEpisodes];
                displayFeaturedEpisode(allEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(allEpisodes);
            })
            .catch(error => {
                document.getElementById("featured-episode").innerHTML = "<p>Impossible de charger le flux RSS. Veuillez réessayer plus tard.</p>";
            });

        function truncateDescription(description, maxLength = 180) {
    // Crée un élément temporaire pour décoder les entités HTML
    const tempElement = document.createElement("div");
    tempElement.innerHTML = description;
    
    // Récupère le texte brut de la description
    let plainText = tempElement.innerText || tempElement.textContent || '';

    // Tronque le texte si nécessaire
    if (plainText.length <= maxLength) return plainText.trim();
    return plainText.substring(0, maxLength).trim() + '...';
}

function displayFeaturedEpisode(episode) {
    const featuredEpisode = document.getElementById("featured-episode");
    
    // Créer le HTML pour les deux premières émissions
    featuredEpisode.innerHTML = `
    <div class="features-episode" style="width: 100%; height: 100%;">
        <!-- Première carte (dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[0].enclosure.link)}', '${sanitizeString(allEpisodes[0].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[0].title)}</h3>
            ${allEpisodes[0].thumbnail ? `<img decoding="async" src="${allEpisodes[0].thumbnail}" alt="Image de la dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[0].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[0].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
        
        <!-- Deuxième carte (avant-dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[1].enclosure.link)}', '${sanitizeString(allEpisodes[1].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[1].title)}</h3>
            ${allEpisodes[1].thumbnail ? `<img decoding="async" src="${allEpisodes[1].thumbnail}" alt="Image de l'avant-dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[1].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[1].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
    </div>
    `;
}

function displayEpisodes(page, episodes) {
    const episodeGrid = document.getElementById("episode-grid");
    episodeGrid.innerHTML = "";
    const episodesWithoutFeatured = episodes.slice(2);
    const start = (page - 1) * episodesPerPage;  
    const end = start + episodesPerPage;
    
    episodesWithoutFeatured.slice(start, end).forEach(item => {
        // IMPORTANT : Encode les titres pour éviter les problèmes avec les apostrophes
        const encodedTitle = encodeURIComponent(item.title);
        const encodedUrl = encodeURIComponent(item.enclosure.link);
        
        episodeGrid.innerHTML += `
    <div class="episode">
        <h5 style="color: #00ffff;">${sanitizeString(item.title)}</h5>
        ${item.thumbnail ? `<img decoding="async" src="${item.thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 150px;">` : ""}
        <div class="description" style="color: white;">${truncateDescription(item.description)}</div>
        <div class="date-badge">
            ${new Date(item.pubDate).toLocaleDateString('fr-FR', {
                day: '2-digit',
                month: '2-digit',
                year: '2-digit'
            })}
        </div>
        <button onclick="openModal('${sanitizeString(item.enclosure.link)}', '${sanitizeString(item.title)}')"></button>
    </div>
`;
    });
    updatePaginationButtons();
}

        function setupPagination(episodes) {
    // Soustrait les 2 épisodes featured au lieu d'un seul
    totalPages = Math.ceil((episodes.length - 2) / episodesPerPage);
    const pageNumbers = document.getElementById("page-numbers");
    pageNumbers.innerHTML = "";

    // Calcule quels numéros afficher
    let start = currentPage;
    if (currentPage === totalPages) {
        start = totalPages - 2;
    } else if (currentPage === 1) {
        start = 1;
    } else {
        start = currentPage - 1;
    }

    // S'assure que start n'est jamais inférieur à 1
    start = Math.max(1, start);
    
    // Affiche 3 boutons à partir de start
    for (let i = start; i < start + 3 && i <= totalPages; i++) {
        const button = document.createElement("button");
        button.textContent = i;
        button.addEventListener("click", () => {
            currentPage = i;
            displayEpisodes(currentPage, episodes);
            setupPagination(episodes); // Important : rafraîchit la pagination
        });
        pageNumbers.appendChild(button);
    }

    // Réactive la fonctionnalité des boutons précédent/suivant
    window.changePage = function(direction) {
        if (direction === 'prev' && currentPage > 1) {
            currentPage--;
        } else if (direction === 'next' && currentPage < totalPages) {
            currentPage++;
        }
        displayEpisodes(currentPage, filteredEpisodes);
        setupPagination(episodes); // Rafraîchit la pagination
        updatePaginationButtons();
    }

    updatePaginationButtons();
}

        function updatePaginationButtons() {
            const prevBtn = document.getElementById('prev-btn');
            const nextBtn = document.getElementById('next-btn');
            
            prevBtn.disabled = currentPage === 1;
            nextBtn.disabled = currentPage === totalPages;
            
            prevBtn.style.opacity = currentPage === 1 ? '0.5' : '1';
            nextBtn.style.opacity = currentPage === totalPages ? '0.5' : '1';
            
            const pageButtons = document.querySelectorAll('#page-numbers button');
            pageButtons.forEach((button, index) => {
                if (index + 1 === currentPage) {
                    button.style.backgroundColor = '#00ffff';
                    button.style.color = '#000';
                } else {
                    button.style.backgroundColor = '#1a1a1a';
                    button.style.color = '#00ffff';
                }
            });
        }

        window.openModal = function(audioUrl, title) {
            const playerContent = document.getElementById("player-content");
            
            // Find the episode data from allEpisodes based on the audioUrl
            const currentEpisode = allEpisodes.find(ep => ep.enclosure.link === audioUrl);
            
            // Get the thumbnail from the episode data directly
            const thumbnail = currentEpisode?.thumbnail;

            // Trouve l'index de l'épisode actuel
            currentEpisodeIndex = allEpisodes.findIndex(ep => ep.enclosure.link === audioUrl);
            
            playerContent.innerHTML = `
                <h2>${title}</h2>
                ${thumbnail ? `<img decoding="async" src="${thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 300px; margin: 15px 0;">` : ''}
                <audio controls style="width: 100%; margin-top: 10px;" id="modal-audio">
                    <source src="${audioUrl}" type="audio/mpeg">
                    Votre navigateur ne supporte pas la lecture audio.
                </audio>
            `;
            
            // Mise à jour de la visibilité des boutons de navigation
            updateNavigationButtons();
            
            currentAudioUrl = audioUrl;
            document.getElementById("player-modal").style.display = "block";
            
            // Store current title for fixed player
            window.currentEpisodeTitle = title;
            
            // Setup audio element for fixed player
            const modalAudio = document.getElementById('modal-audio');
            modalAudio.addEventListener('play', () => {
                window.isPlaying = true;
            });
            modalAudio.addEventListener('pause', () => {
                window.isPlaying = false;
            });
        }

    window.navigateEpisode = function(direction) {
        let newIndex = direction === 'prev' ? currentEpisodeIndex - 1 : currentEpisodeIndex + 1;
        
        if (newIndex >= 0 && newIndex < allEpisodes.length) {
            const episode = allEpisodes[newIndex];
            openModal(episode.enclosure.link, episode.title);
        }
    }

      function sanitizeString(str) {
    return str.replace(/['"\\<>]/g, "");
}


    function updateNavigationButtons() {
        const prevButton = document.getElementById('prev-episode');
        const nextButton = document.getElementById('next-episode');
        
        prevButton.style.display = currentEpisodeIndex === 0 ? 'none' : 'flex';
        nextButton.style.display = currentEpisodeIndex === allEpisodes.length - 1 ? 'none' : 'flex';
    }

        window.closeModal = function() {
            const modalAudio = document.getElementById('modal-audio');
            const fixedPlayerBar = document.getElementById('fixed-player-bar');
            const fixedPlayerAudio = document.getElementById('fixed-player-audio');
            const fixedPlayerTitle = document.getElementById('fixed-player-title');
            
            if (window.isPlaying) {
                // Pause modal audio first
                modalAudio.pause();
                
                // Set up fixed player
                fixedPlayerBar.style.display = 'block';
                fixedPlayerTitle.textContent = window.currentEpisodeTitle;
                fixedPlayerAudio.src = currentAudioUrl;
                fixedPlayerAudio.currentTime = modalAudio.currentTime;
                fixedPlayerAudio.play();
            }
            
            document.getElementById("player-modal").style.display = "none";
        }

    // Add close fixed player function
    window.closeFixedPlayer = function() {
        const fixedPlayerBar = document.getElementById('fixed-player-bar');
        const fixedPlayerAudio = document.getElementById('fixed-player-audio');
        fixedPlayerAudio.pause();
        fixedPlayerBar.style.display = 'none';
    }

        window.startChromecast = function() {
            if (!chrome.cast || !chrome.cast.isAvailable) {
                console.log('Cast API not available');
                return;
            }

            chrome.cast.requestSession(
                function(session) {
                    if (currentAudioUrl) {
                        const mediaInfo = new chrome.cast.media.MediaInfo(currentAudioUrl, 'audio/mpeg');
                        mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();
                        mediaInfo.metadata.title = document.querySelector('#player-content h2').textContent;

                        const request = new chrome.cast.media.LoadRequest(mediaInfo);
                        session.loadMedia(request).then(
                            () => console.log('Lecture Chromecast démarrée'),
                            errorCode => console.error('Erreur Chromecast: ' + errorCode)
                        );
                    }
                },
                function(error) {
                    console.error('Erreur lors de la création de la session:', error);
                }
            );
        }

        window.shareOnX = function() {
            const text = "Écoutez les podcasts : La France bouge d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(text)}&url=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnWhatsapp = function() {
            const text = "Écoutez les podcasts : La France bouge d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://wa.me/?text=${encodeURIComponent(text + ' ' + url)}`, '_blank');
        };

        window.shareOnFacebook = function() {
          const text = "Écoutez les podcasts : La France bouge avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnLinkedIn = function() {
          const text = "Écoutez les podcasts : La France bouge avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(url)}`, '_blank');
        };

        window.filterAndDisplayEpisodes = function() {
            const searchTerm = document.getElementById('podcast-search').value.toLowerCase();
            const filterValue = document.getElementById('podcast-filter').value;
            
            // Filter episodes based on search term
            filteredEpisodes = allEpisodes.filter(episode => 
                episode.title.toLowerCase().includes(searchTerm) || 
                episode.description.toLowerCase().includes(searchTerm)
            );
            
            // Sort episodes based on filter value
            if (filterValue === 'oldest') {
                filteredEpisodes.sort((a, b) => new Date(a.pubDate) - new Date(b.pubDate));
            } else {
                filteredEpisodes.sort((a, b) => new Date(b.pubDate) - new Date(a.pubDate));
            }
            
            // Reset pagination to first page when filtering
            currentPage = 1;
            
            // Update display
            if (filteredEpisodes.length > 0) {
                displayFeaturedEpisode(filteredEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(filteredEpisodes);
            } else {
                // Handle no results
                document.getElementById('episode-grid').innerHTML = '<p style="color: #fff; text-align: center; grid-column: 1/-1;">Aucun résultat trouvé</p>';
                document.getElementById('page-numbers').innerHTML = '';
            }
        }
    })();
</script>
</div>
</div></div></body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-9e9820f e-con-full e-flex e-con e-parent" data-id="9e9820f" data-element_type="container">
				<div class="elementor-element elementor-element-d4246d5 elementor-widget elementor-widget-html" data-id="d4246d5" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<html><head><base>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  <style>
    .rs-carousel-section {
      padding: 50px 0; 
      background: linear-gradient(45deg, #1a1a1a, #2c2c2c, #0e4d4d);
      background-size: 400% 400%;
      animation: rs-gradientBG 15s ease infinite;
      color: #ffffff;
      font-family: 'Roboto', sans-serif;
      min-height: flex; 
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .rs-title {
      color: #00ffff;
      text-align: center;
      margin: 2rem 0;
      font-size: 2rem;
      text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-container {
      max-width: auto;
      width: 100%;
      position: relative;
      padding: 50px 150px; 
      box-sizing: border-box;
      overflow: hidden;
      margin: 0 auto; 
    }

    .rs-carousel {
      display: flex;
      overflow: hidden;
      scroll-behavior: smooth;
      gap: 20px;
      padding: 20px 0 0 0;
      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .rs-radio-card {
      min-width: 250px;
      flex: 0 0 250px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 15px;
      text-align: center;
      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
      border: 2px solid #00ffff;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);
      position: relative;
      overflow: hidden;
      transform-origin: center center;
      padding: 20px 15px; /* Add consistent padding */
    }

    .rs-radio-card.rs-scrolling {
      transform: scale(0.95) rotate(-2deg);
    }

    .rs-radio-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(0, 255, 255, 0.1), transparent);
      transition: 0.5s;
    }

    .rs-radio-card:hover::before {
      left: 100%;
    }

    .rs-radio-card:hover {
      transform: translateY(-5px) scale(1.02);
      box-shadow: 0 10px 30px rgba(0, 255, 255, 0.3);
      z-index: 1;
    }

    .rs-radio-logo {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      margin-bottom: 1rem;
      border: 3px solid #00ffff;
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);
      transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      cursor: pointer; /* Add cursor pointer to indicate interactivity */
    }

    .rs-radio-logo:hover {
      transform: rotateY(180deg) scale(1.15);
      border-color: #ff00ff;
      box-shadow: 
        0 0 25px rgba(0, 255, 255, 0.5),
        0 0 50px rgba(255, 0, 255, 0.3);
      animation: logoGlow 1.5s infinite alternate;
    }

    @keyframes logoGlow {
      0% {
        box-shadow: 0 0 25px rgba(0, 255, 255, 0.5),
                    0 0 50px rgba(255, 0, 255, 0.3);
      }
      100% {
        box-shadow: 0 0 35px rgba(0, 255, 255, 0.8),
                    0 0 70px rgba(255, 0, 255, 0.6);
      }
    }

    .rs-radio-name {
      font-size: 1.2rem; /* Reduced from 1.5rem */
      margin: 15px 0;
      color: #00ffff;
      transition: all 0.3s ease;
      position: relative; /* Added */
    }

    /* Add hover state for radio name span elements */
    .rs-radio-name span:first-child {
      display: inline-block;
      transition: opacity 0.3s ease;
    }

    .rs-radio-name span:last-child {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      opacity: 0;
      transition: opacity 0.3s ease;
      width: 100%;
    }

    .rs-radio-card:hover .rs-radio-name span:first-child {
      opacity: 0;
    }

    .rs-radio-card:hover .rs-radio-name span:last-child {
      opacity: 1;
    }

    .rs-listen-button {
      position: relative; /* Add this */
      background: #00ffff;
      color: #000;
      width: 60px;
      height: 60px;
      border: none;
      border-radius: 50%;
      font-size: 1.5rem;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      text-decoration: none;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 1rem auto;
      overflow: hidden;
    }

    .rs-listen-button:hover {
      background: #00cccc;
      transform: scale(1.1) rotate(360deg);
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.6);
    }

    .rs-listen-button::before {
      content: "Voir la webradio";
      position: absolute;
      bottom: -30px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(0, 255, 255, 0.9);
      color: #000;
      padding: 5px 10px;
      border-radius: 4px;
      font-size: 12px;
      white-space: nowrap;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
    }

    .rs-listen-button:hover::before {
      opacity: 1;
      visibility: visible;
      bottom: -35px;
    }

    .rs-listen-button:hover i {
      animation: rs-colorChange 2s infinite;
    }

    @keyframes rs-colorChange {
      0% { color: #ff0000; }
      20% { color: #ff7700; }
      40% { color: #ffff00; }
      60% { color: #00ff00; }
      80% { color: #0000ff; }
      100% { color: #ff0000; }
    }

    .rs-listen-button::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle, transparent 30%, rgba(255, 255, 255, 0.3) 70%);
      animation: rs-pulseGlow 2s infinite;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-listen-button:hover::after {
      opacity: 1;
    }

    @keyframes rs-pulseGlow {
      0% {
        transform: scale(0.95);
        opacity: 0.5;
      }
      50% {
        transform: scale(1.1);
        opacity: 0.2;
      }
      100% {
        transform: scale(0.95);
        opacity: 0.5;
      }
    }

    .rs-carousel-button {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0, 255, 255, 0.2);
      border: none;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #00ffff;
      font-size: 1.5rem;
      transition: all 0.3s ease;
      z-index: 2;
      overflow: hidden; /* Add this for ripple effect */
    }

    .rs-carousel-button:hover {
      background: rgba(0, 255, 255, 0.2);
      transform: translateY(-50%) scale(1.1);
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-button::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle at center, rgba(0, 255, 255, 0.8) 0%, transparent 70%);
      transform: scale(0);
      opacity: 0;
      transition: transform 0.5s ease-out, opacity 0.3s ease;
    }

    .rs-carousel-button:hover::before {
      transform: scale(2);
      opacity: 0.3;
    }

    .rs-carousel-button:hover i {
      animation: arrowBounce 0.5s ease infinite alternate;
    }

    @keyframes arrowBounce {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(3px);
      }
    }

    .rs-carousel-button.rs-prev:hover i {
      animation: arrowBounceLeft 0.5s ease infinite alternate;
    }

    @keyframes arrowBounceLeft {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(-3px);
      }
    }

    .rs-carousel-button.rs-prev {
      left: 0;
    }

    .rs-carousel-button.rs-next {
      right: 0;
    }

    @keyframes rs-floatingNotesCard {
      0% {
        opacity: 0;
        transform: translate(0, 0) rotate(0deg);
      }
      50% {
        opacity: 1;
      }
      100% {
        opacity: 0;
        transform: translate(-50px, -50px) rotate(360deg);
      }
    }

    .rs-card-notes {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-radio-card:hover .rs-card-notes {
      opacity: 1;
    }

    .rs-card-note {
      position: absolute;
      font-size: 20px;
      color: #00ffff;
      animation: rs-floatingNotesCard 2s ease-out infinite;
    }

    .rs-card-note-1 { top: 10%; left: 10%; animation-delay: 0s; }
    .rs-card-note-2 { top: 5%; left: 30%; animation-delay: 0.3s; }
    .rs-card-note-3 { top: 15%; left: 50%; animation-delay: 0.6s; }
    .rs-card-note-4 { top: 8%; left: 70%; animation-delay: 0.9s; }
    .rs-card-note-5 { top: 12%; left: 90%; animation-delay: 1.2s; }

    .rs-radio-tag {
      position: absolute;
      top: 10px;
      right: 10px;
      padding: 5px 12px;
      font-size: 0.8rem;
      border-radius: 15px;
      background: rgba(0, 0, 0, 0.7);
      color: #fff;
      border: 1px solid #00ffff;
      box-shadow: 0 0 5px #00ffff,
                  inset 0 0 5px #00ffff;
      text-transform: uppercase;
      letter-spacing: 1px;
      transition: all 0.3s ease;
      transform-style: preserve-3d;
      perspective: 1000px;
      cursor: pointer;
    }
    
    .rs-radio-tag i {
      margin-right: 5px;
      color: #00ffff;
      text-shadow: 0 0 5px #00ffff,
                   0 0 10px #00ffff,
                   0 0 15px #00ffff;
    }

    /* Add hover effects */
    .rs-radio-tag:hover {
      transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      box-shadow: 0 0 15px #00ffff,
                  inset 0 0 10px #00ffff,
                  0 10px 20px rgba(0, 255, 255, 0.4);
      background: rgba(0, 255, 255, 0.1);
      letter-spacing: 2px;
      animation: tagFloat 1s ease-in-out infinite alternate;
    }

    /* Add new keyframe animation */
    @keyframes tagFloat {
      0% {
        transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      }
      100% {
        transform: translateZ(30px) rotateX(15deg) rotateY(-15deg);
        text-shadow: 2px 2px 4px rgba(0, 255, 255, 0.6);
      }
    }

    /* Add before/after elements for 3D effect */
    .rs-radio-tag::before {
      content: '';
      position: absolute;
      inset: -2px;
      background: linear-gradient(45deg, transparent, rgba(0, 255, 255, 0.3), transparent);
      transform: translateZ(-1px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag::after {
      content: '';
      position: absolute;
      inset: -1px;
      background: linear-gradient(-45deg, transparent, rgba(0, 255, 255, 0.2), transparent);
      transform: translateZ(-2px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag:hover::before,
    .rs-radio-tag:hover::after {
      opacity: 1;
    }

    @keyframes rs-floatingNotes {
      0% {
        transform: translateY(0) rotate(0deg) scale(1);
        opacity: 0;
      }
      50% {
        transform: translateY(-20px) rotate(180deg) scale(1.2);
        opacity: 1;
      }
      100% {
        transform: translateY(-40px) rotate(360deg) scale(1);
        opacity: 0;
      }
    }

    @media (max-width: 768px) {
      .rs-carousel-section {
        padding: 30px 0;
      }
      .rs-carousel-container {
        padding: 15px 20px; 
      }
      .rs-radio-card {
        min-width: 250px !important; /* Reduced by 20% from original 312.5px */
        flex: 0 0 250px !important; /* Reduced by 20% from original 312.5px */
      }
      /* Content size reductions */
      .rs-radio-logo {
        width: 84px !important;
        height: 84px !important;
      }
      .rs-radio-name {
        font-size: 1rem !important;
      }
      .rs-listen-button {
        width: 48px;
        height: 48px;
      }
    }

    @media (max-width: 480px) {
      .rs-carousel-section {
        padding: 20px 0;
      }
      .rs-carousel-container {
        padding: 0 30px; 
      }
      .rs-radio-card {
        min-width: 200px !important; /* Further reduced by 20% from tablet size */
        flex: 0 0 200px !important; /* Further reduced by 20% from tablet size */
      }
      /* Further reduce content for smallest screens */
      .rs-radio-logo {
        width: 76px !important;
        height: 76px !important;
        margin: 8px auto 12px !important;
      }
      .rs-radio-name {
        font-size: 0.9rem !important;
      }
      .rs-listen-button {
        width: 40px;
        height: 40px;
      }
    }

    /* Add this CSS inside the existing <style> tag */
    .rs-all-podcasts-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 12px 24px;
      margin: 30px auto 20px;
      background: linear-gradient(45deg, #00ffff, #00cccc);
      border: none;
      border-radius: 25px;
      color: #000;
      font-size: 1rem;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.3s ease;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
      position: relative;
      overflow: hidden;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .rs-all-podcasts-btn:hover {
      transform: translateY(-2px) scale(1.05);
      box-shadow: 
        0 0 20px rgba(0, 255, 255, 0.5),
        0 0 40px rgba(0, 255, 255, 0.2);
    }

    .rs-all-podcasts-btn::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, transparent 65%);
      transform: scale(0);
      transition: transform 0.6s ease-out;
    }

    .rs-all-podcasts-btn:hover::before {
      transform: scale(1) rotate(45deg);
    }

    .rs-all-podcasts-btn i {
      font-size: 1.2rem;
      color: #000;
    }
  </style>
</head>
<body>
  <div class="rs-carousel-section" id="radiostreamr-carousel-section">
    <h2 class="rs-title" id="radiostreamr-title" style="font-size: 28px; animation: textGlow 2s infinite; text-shadow: 0 0 10px rgba(0, 255, 255, 0.5), 0 0 20px rgba(0, 255, 255, 0.3), 0 0 30px rgba(0, 255, 255, 0.2); position: relative; padding-left: 15px; padding-right: 15px;">
  Ecoutez les meilleurs podcasts de la chaine Europe 1 :
</h2>
    
    <div class="rs-carousel-container" id="radiostreamr-container">
      <button class="rs-carousel-button rs-prev" id="radiostreamr-prev-button">
        <i class="fas fa-chevron-left"></i>
      </button>
      
      <div class="rs-carousel" id="radiostreamr-carousel" style="gap: 25px;">

        <!-- Skyrock -->
        <div class="rs-radio-card" id="radiostreamr-card-hondelatte" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/hondelatte-raconte-podcast.webp" alt="Hondelatte raconte" class="rs-radio-logo" style="width: 105px; height: 105px; margin: 10px auto 15px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Histoire prenante</span>
          <h2 class="rs-radio-name">
            <span>Hondelatte raconte</span>
            <span>Podcasts Hondelatte raconte</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-hondelatte-raconte/" class="rs-listen-button" style="margin: 15px auto 10px;">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Oui FM -->
        <div class="rs-radio-card" id="radiostreamr-card-On-marche-sur-la-tête" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-podcast-on-marche-sur-la-tete-cyril-hanouna-radiostreamr.webp" alt="On marche sur la tête logo" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-laugh"></i>Humour</span>
          <h2 class="rs-radio-name">
            <span>On marche sur la tête</span>
            <span>Podcasts On marche sur la tête</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-on-marche-sur-la-tete/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- FIP -->
        <div class="rs-radio-card" id="radiostreamr-card-Europe-1-Matin" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-matin-podcast.webp" alt="FIP Radio" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Matin</span>
            <span>Podcasts Europe 1 Matin</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-matin/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
        
        <!-- Add after the FIP card and before RMC -->
        <div class="rs-radio-card" id="radiostreamr-card-le-grand-rendez-vous" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/0x1900-000000-80-0-0.webp" alt="Le grand rendez-vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Le Grand Rendez-vous</span>
            <span>Podcasts Le Grand Rendez-vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-le-grand-rendez-vous//" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-pascal-praud" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/pascal-praud-podcast.webp" alt="Pascal Praud et vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Pascal Praud et vous</span>
            <span>Podcasts Pascal Praud et vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-pascal-praud/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-cheriefm" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-logo-radio-en-ligne.webp" alt="Charlotte d'Ornellas - Les signatures d'Europe 1" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Chronique actualité</span>
          <h2 class="rs-radio-name">
            <span>Charlotte d'Ornellas</span>
            <span>Podcasts Charlotte d'Ornellas</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-chronique-charlotte-dornellas/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- La Libre Antenne -->
        <div class="rs-radio-card" id="radiostreamr-card-libre-antenne" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/libre-antenne.webp" alt="La Libre Antenne" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-comments"></i>Discussion</span>
          <h2 class="rs-radio-name">
            <span>La Libre Antenne</span>
            <span>Podcasts La Libre Antenne</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-olivier-delacroix/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Il n'y a qu'une vie dans la vie -->
        <div class="rs-radio-card" id="radiostreamr-card-isabelle-morizet" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/isabelle-morizet-podcast.webp" alt="Il n'y a qu'une vie dans la vie" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-friends"></i>Interview</span>
          <h2 class="rs-radio-name">
            <span>Il n'y a qu'une vie dans la vie</span>
            <span>Podcasts Isabelle Morizet</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-isabelle-morizet/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 Soir -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-soir" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-soir-podcasts.webp" alt="Europe 1 Soir" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Soir</span>
            <span>Podcasts Europe 1 Soir</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-soir/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 13h -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-13h" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-13h-podcast.webp" alt="Europe 1 13h" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 13h</span>
            <span>Podcasts Europe 1 13h</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-13h/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Le Studio des Légendes -->
        <div class="rs-radio-card" id="radiostreamr-card-studio-legendes" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/le-studio-des-legendes-podcast.webp" alt="Le Studio des Légendes" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-star"></i>Culture</span>
          <h2 class="rs-radio-name">
            <span>Le Studio des Légendes</span>
            <span>Podcasts Le Studio des Légendes</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-studio-des-legendes/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe Soir Week-end -->
        <div class="rs-radio-card" id="radiostreamr-card-europe-soir-weekend" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-soir-week-end-podcast.webp" alt="Europe Soir Week-end" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe Soir Week-end</span>
            <span>Podcasts Europe Soir Week-end</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe-soir-week-end/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- L'heure des Pros -->
        <div class="rs-radio-card" id="radiostreamr-card-heure-pros" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/lheure-des-pros-podcast.webp" alt="L'heure des Pros" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>L'heure des Pros</span>
            <span>Podcasts L'heure des Pros</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-lheure-des-pros/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les années Top 50 -->
        <div class="rs-radio-card" id="radiostreamr-card-top-50" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/les-annees-top-50-podcast-europe1-1.webp" alt="Les années Top 50" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Musique</span>
          <h2 class="rs-radio-name">
            <span>Les années Top 50</span>
            <span>Podcasts Les années Top 50</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-top-50/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Face à Philippe de Villiers -->
        <div class="rs-radio-card" id="radiostreamr-card-philippe-villiers" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/philippe-de-villiers-podcast-europe1.webp" alt="Face à Philippe de Villiers" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-tie"></i>Politique</span>
          <h2 class="rs-radio-name">
            <span>Face à Philippe de Villiers</span>
            <span>Podcasts Face à Philippe de Villiers</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-face-a-philippe-de-villiers/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les histoires d'amour extraordinaires -->
        <div class="rs-radio-card" id="radiostreamr-card-histoires-amour" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/sophie-davant-podcast.webp" alt="Les histoires d'amour extraordinaires" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-heart"></i>Romance</span>
          <h2 class="rs-radio-name">
            <span>Les histoires d'amour extraordinaires</span>
            <span>Podcasts Les histoires d'amour extraordinaires</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-histoires-damour-extraordinaires/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Au Coeur de l'Histoire -->
        <div class="rs-radio-card" id="radiostreamr-card-coeur-histoire" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/podcast-au-coeur-de-lhistoire.webp" alt="Au Coeur de l'Histoire" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-book-open"></i>Histoire</span>
          <h2 class="rs-radio-name">
            <span>Au Coeur de l'Histoire</span>
            <span>Podcasts Au Coeur de l'Histoire</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-au-coeur-de-lhistoire/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
      </div>

      <button class="rs-carousel-button rs-next" id="radiostreamr-next-button">
        <i class="fas fa-chevron-right"></i>
      </button>
    </div>
    <a href="https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/podcast-europe1" class="rs-all-podcasts-btn">
      <i class="fas fa-podcast"></i>
      Voir tous les podcasts
    </a>
  </div>

  <script>
    (function() {
      class RadioStreamrCarousel {
        constructor(selector) {
          this.container = document.querySelector(selector);
          this.carousel = this.container.querySelector('.rs-carousel');
          this.allCards = Array.from(this.container.querySelectorAll('.rs-radio-card')); // Store all cards
          this.prevButton = this.container.querySelector('.rs-carousel-button.rs-prev');

          // Select random 9 cards
          this.selectRandomCards();
          
          // Initialize properties after cards are selected
          this.cards = Array.from(this.container.querySelectorAll('.rs-radio-card'));
          this.currentIndex = 0;
          this.cardWidth = this.cards[0].offsetWidth + 20;
          this.cardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
          this.maxIndex = this.cards.length - this.cardsPerView;
          this.nextButton = this.container.querySelector('.rs-carousel-button.rs-next');

          this.init();
        }

        selectRandomCards() {
          // Remove all cards from carousel
          this.allCards.forEach(card => card.remove());

          // Randomly select 9 cards
          const shuffled = [...this.allCards].sort(() => 0.5 - Math.random());
          const selected = shuffled.slice(0, 14);
          
          // Add selected cards back to carousel
          selected.forEach(card => {
            this.carousel.appendChild(card);
          });
        }

        init() {
          this.bindEvents();
        }

        scrollToIndex(index) {
          // Handle infinite loop
          if (index < 0) {
            this.currentIndex = this.cards.length - this.cardsPerView;
          } else if (index > this.maxIndex) {
            this.currentIndex = 0;
          } else {
            this.currentIndex = index;
          }
          
          // Add scrolling class to cards
          this.cards.forEach(card => {
            card.classList.add('rs-scrolling');
            setTimeout(() => card.classList.remove('rs-scrolling'), 500);
          });

          // Scroll with animation
          this.carousel.scrollTo({
            left: this.currentIndex * this.cardWidth,
            behavior: 'smooth'
          });

          // Create floating notes effect
          const notes = ['♪', '♫', '♬'];
          for(let i = 0; i < 3; i++) {
            const note = document.createElement('span');
            note.textContent = notes[Math.floor(Math.random() * notes.length)];
            note.style.cssText = `
              position: absolute;
              color: #00ffff;
              font-size: 24px;
              top: ${50 + Math.random() * 100}px;
              left: ${50 + Math.random() * (this.carousel.offsetWidth - 100)}px;
              animation: rs-floatingNotes 1s ease-out ${i * 0.2}s forwards;
              pointer-events: none;
            `;
            this.carousel.appendChild(note);
            setTimeout(() => note.remove(), 1000 + i * 200);
          }
        }

        bindEvents() {
          this.prevButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex - 1));
          this.nextButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex + 1));

          window.addEventListener('resize', () => {
            const newCardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
            const newMaxIndex = this.cards.length - newCardsPerView;
            this.currentIndex = Math.min(this.currentIndex, newMaxIndex);
            this.scrollToIndex(this.currentIndex);
          });
        }
      }

      document.addEventListener('DOMContentLoaded', function() {
        new RadioStreamrCarousel('.rs-carousel-section');
      });
    })();
  </script>
</body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-0d0797d e-con-full e-flex e-con e-parent" data-id="0d0797d" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
				<div class="elementor-element elementor-element-9260360 elementor-widget elementor-widget-shortcode" data-id="9260360" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"></div>
						</div>
				</div>
				</div>
				</div>
		<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-la-france-bouge/">🗣️ Podcast et Replay &#8211; La France bouge &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://radiostreamr.com/radio-france/podcast-la-france-bouge/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🗣️ Podcast et Replay &#8211; Europe 1 Nuit</title>
		<link>https://radiostreamr.com/radio-france/podcast-europe1-nuit/</link>
					<comments>https://radiostreamr.com/radio-france/podcast-europe1-nuit/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 11 Nov 2024 14:20:17 +0000</pubDate>
				<category><![CDATA[Europe 1]]></category>
		<category><![CDATA[Podcast]]></category>
		<guid isPermaLink="false">https://radiostreamr.com/radio-france/?p=1066</guid>

					<description><![CDATA[<p>Europe 1 Nuit &#8211; Écoutez tous les podcasts Europe 1 en rediffusion Plus récentsPlus anciens Publicité Maël Hassani aux commandes d&#8217;Europe 1 Nuit Voir leur Facebook Voir leur Instagram Voir leur site web Chaque nuit sur Europe 1, Maël Hassani accompagne les auditeurs qui ne dorment pas avec « Europe 1 Nuit ». Dans une ambiance intimiste [&#8230;]</p>
<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-europe1-nuit/">🗣️ Podcast et Replay &#8211; Europe 1 Nuit</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="1066" class="elementor elementor-1066" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-dce457e e-con-full e-flex e-con e-parent" data-id="dce457e" data-element_type="container">
				<div class="elementor-element elementor-element-9f9be1c 1995 elementor-widget elementor-widget-html" data-id="9f9be1c" data-element_type="widget" id="1995" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<!DOCTYPE html><html><head><meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&amp;display=swap" rel="stylesheet">
<style>
    .rtl-podcast-player * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Roboto', sans-serif;
    }

  .rtl-podcast-player #pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
}

@keyframes gradientBG {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.rtl-podcast-player body {
    background: linear-gradient(-45deg, #0a192f, #172a45, #1a365d, #102235);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    min-height: 100vh;
    display: flex;
    align-items: center;
    color: #fff;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

    .rtl-podcast-player .container {
        display: grid;
        grid-template-columns: 1.2fr 2.8fr;
        gap: 20px;
        margin: 0 auto;
        padding: 50px 150px !important;
        width: 100%;
        background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
        background-size: 400% 400%;
        animation: gradientBG 15s ease infinite;
        border-radius: 0;
        box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);
    }


    @media (max-width: 1024px) {
        .rtl-podcast-player .container {
            padding: 30px 45px;
            grid-template-columns: 1fr 2fr;
        }
        
        .rtl-podcast-player h1 {
            font-size: 2em;
        }
    }


    @media (max-width: 768px) {
        .rtl-podcast-player .container {
            padding: 20px !important; /* Override padding */
            margin: 0 !important; /* Reset margin */
            width: 100% !important;
            max-width: 100% !important;
            grid-template-columns: 1fr;
            overflow-x: hidden; /* Prevent horizontal scroll */
        }
        
        .rtl-podcast-player #episode-grid,
        .rtl-podcast-player .episode,
        .rtl-podcast-player #featured-episode,
        .rtl-podcast-player .host-biography,
        .rtl-podcast-player .social-share-buttons {
            width: 100% !important;
            margin-left: auto !important;
            margin-right: auto !important;
            padding: 15px !important;
        }
        
        .rtl-podcast-player h1,
        .rtl-podcast-player h2,
        .rtl-podcast-player p {
            padding-left: 10px !important;
            padding-right: 10px !important;
            text-align: center;
        }

        .rtl-podcast-player #episode-grid {
            grid-template-columns: 1fr !important; /* Force single column */
            gap: 20px;
        }
        
        .rtl-podcast-player .episode {
            width: 100% !important;
            margin: 0 auto !important;
        }
    }


@media (max-width: 480px) {
    .rtl-podcast-player .container {
        padding: 10px !important;
    }
    
    .rtl-podcast-player #featured-episode,
    .rtl-podcast-player .episode {
        padding: 15px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }
}

.rtl-podcast-player h1 {
    color: #00ffff;
    text-align: center;
    font-size: 2.3em;
    margin-bottom: 40px;
    font-weight: 700;
    width: 100%;
    grid-column: 1 / -1;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.3);
}

  #fixed-player-bar {
        display: flex;               /* Assure l'affichage en flex */
        flex-direction: column;       /* Organisation en colonne */
        align-items: center;          /* Centre les éléments */
        padding: 10px;
        gap: 10px;                    /* Espace entre chaque ligne */
        background: rgba(26, 26, 26, 0.95); /* Conserve l’arrière-plan */
        display: none;                /* Masqué par défaut */
    }

    /* Ligne 1 : Titre de l'épisode */
    #fixed-player-title {
        display: block;               /* Force l'affichage sur une ligne complète */
        text-align: center;
        font-size: 1.2em;
        color: #00ffff;
        width: 100%;                  /* Prend la largeur complète */
    }

    /* Ligne 2 : Player audio */
    #fixed-player-audio {
        display: block;               /* Force l'affichage sur une ligne complète */
        width: 100%;
    }

    /* Ligne 3 : Conteneur pour les boutons Chromecast et fermeture */
    .audio-controls-container {
        display: flex;
        justify-content: center;
        gap: 20px;
        width: 100%;                  /* Assure une disposition sur toute la largeur */
    }

    /* Styles des boutons */
    #chromecast-button, #close-fixed-player {
        width: 40px;
        height: 40px;
        border: none;
        cursor: pointer;
    }
}

  @media (max-width: 768px) {
    .rtl-podcast-player h1 {
        margin-top: 0px !important; /* Ajustez la valeur selon vos besoins */
    }
}
  
.rtl-podcast-player #featured-episode {
    /* Remplacer ces styles */
    display: flex;
    flex-direction: column;
    height: 100%; /* Ajout de cette ligne */
    padding: 30px;
    border-radius: 15px;
    background-color: transparent;
    color: #ffffff;
    transition: all 0.3s ease;
}

.rtl-podcast-player #featured-episode:hover {
    transform: translateY(-5px);
}

.rtl-podcast-player #featured-episode h3 {
    color: #00ffff;
    margin-bottom: 15px;
    font-weight: 500;
}

.rtl-podcast-player #featured-episode button, .rtl-podcast-player .episode button {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    padding: 0;
    background-image: url('https://static.vecteezy.com/system/resources/thumbnails/017/196/540/small/3d-play-button-icon-transparent-background-free-png.png');
    background-size: 35px;
    background-position: center;
    background-repeat: no-repeat;
    font-size: 0;
    position: relative;
}

    .rtl-podcast-player .date-badge {
        background: rgba(0, 255, 255, 0.1);
        border: 2px solid #00ffff;
        border-radius: 8px;
        padding: 8px 15px;
        color: #00ffff;
        font-weight: bold;
        text-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
        box-shadow: 
            0 0 5px rgba(0, 255, 255, 0.2),
            0 0 10px rgba(0, 255, 255, 0.2),
            0 0 15px rgba(0, 255, 255, 0.2),
            0 0 20px rgba(0, 255, 255, 0.2);
        animation: neonPulse 1.5s ease-in-out infinite;
        margin: 15px auto 20px auto; /* Increased bottom margin */
        display: block; /* Changed from inline-block to block */
        width: fit-content;
    }

    @keyframes neonPulse {
        0%, 100% {
            box-shadow: 
                0 0 5px rgba(0, 255, 255, 0.2),
                0 0 10px rgba(0, 255, 255, 0.2),
                0 0 15px rgba(0, 255, 255, 0.2),
                0 0 20px rgba(0, 255, 255, 0.2);
        }
        50% {
            box-shadow: 
                0 0 10px rgba(0, 255, 255, 0.4),
                0 0 20px rgba(0, 255, 255, 0.4),
                0 0 30px rgba(0, 255, 255, 0.4),
                0 0 40px rgba(0, 255, 255, 0.4);
        }
    }


.rtl-podcast-player #featured-episode img,
.rtl-podcast-player .episode img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .modal-content img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .episode button:hover::after,
.rtl-podcast-player #featured-episode button:hover::after {
    content: "Ecouter ce podcast";
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap;
    z-index: 1000;
}

.rtl-podcast-player #featured-episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #episode-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

    .rtl-podcast-player .episode {
        padding: 20px;
        border-radius: 15px;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.1);
        text-align: center;
        background-color: #1a1a1a;
        transition: all 0.3s ease;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .rtl-podcast-player .episode p {
        color: #ffffff;
    }


.rtl-podcast-player .episode:hover {
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);
    transform: translateY(-3px);
}

.rtl-podcast-player .episode h5 {
    margin-bottom: 10px;
    color: #00ffff;
}

.rtl-podcast-player .episode a {
    color: #00ffff;
    text-decoration: none;
}

    .rtl-podcast-player .episode button:hover {
        background-color: #00cccc;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }
    
    .search-filter-container {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        margin-bottom: 30px;
        width: 100%;
    }

    .search-filter-container input,
    .search-filter-container select {
        padding: 10px 15px;
        border: 2px solid #00ffff;
        border-radius: 8px;
        background: rgba(0, 0, 0, 0.3);
        color: #fff;
        font-size: 16px;
        width: 200px;
    }

    .search-filter-container input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }

    .search-filter-container input:focus,
    .search-filter-container select:focus {
        outline: none;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
    }

    .search-filter-container select {
        cursor: pointer;
    }

    .search-filter-container select option {
        background-color: #1a1a1a;
        color: #fff;
    }

    @media (max-width: 768px) {
        .search-filter-container {
            flex-direction: column;
            gap: 10px;
        }

        .search-filter-container input,
        .search-filter-container select {
            width: 100%;
            max-width: 300px;
        }
    }

    color: #000;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-top: 10px; /* Add space above button */
    display: block; /* Ensure block-level display */
    margin-left: auto;
    margin-right: auto;
}

.rtl-podcast-player .episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player .pagination {
    text-align: center !important;
    margin-top: 30px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
}

  .rtl-podcast-player #page-numbers {
    display: flex !important;
    gap: 5px !important;
    margin: 0 5px !important;
}
  
.rtl-podcast-player .pagination button,
.rtl-podcast-player .pagination #prev-btn,
.rtl-podcast-player .pagination #next-btn {
    margin: 0 !important;  /* Changé de 5px à 0 */
    padding: 8px 16px;
    font-size: 1em;
    background-color: #1a1a1a;
    color: #00ffff;
    border: 1px solid #00ffff;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rtl-podcast-player .pagination button:hover {
    background-color: #00ffff;
    color: #000;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
}

.rtl-podcast-player .modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
}

.rtl-podcast-player .modal-content {
    background-color: #1a1a1a;
    padding: 40px;
    border: 2px solid #00ffff;
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: auto;
    color: white;
}

.rtl-podcast-player .close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: #00ffff;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
}

.rtl-podcast-player .close:hover {
    color: #00cccc;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #chromecast-button {
    background-color: #00ffff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    color: #000;
    margin-top: 20px;
    font-weight: bold;
    display: inline-block;
}

.rtl-podcast-player audio::-webkit-media-controls-panel {
    background-color: #2a2a2a;
}

.rtl-podcast-player audio::-webkit-media-controls-current-time-display,
.rtl-podcast-player audio::-webkit-media-controls-time-remaining-display {
    color: #000000;
}

.rtl-podcast-player #fixed-player-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(26, 26, 26, 0.95);
    backdrop-filter: blur(10px);
    padding: 10px 20px;
    z-index: 999;
    border-top: 2px solid #00ffff;
}

.rtl-podcast-player .fixed-player-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    gap: 20px;
}


.rtl-podcast-player #fixed-player-title {
    color: #00ffff;
    font-size: 1em;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.rtl-podcast-player #fixed-player-audio {
    flex: 2;
    max-width: 500px;
}

.episode-card {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(0, 255, 255, 0.3);
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.episode-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 255, 255, 0.2);
}

.episode-card img {
    width: 100%;
    max-width: 200px;
    border-radius: 10px;
    margin: 10px 0;
}

.episode-card button {
    margin-top: 10px;
}
  
/* Conserve les styles des boutons play et mute */
audio::-webkit-media-controls-play-button,
audio::-webkit-media-controls-mute-button {
    background-color: #40E0D0 !important; /* Bleu turquoise */
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
}

audio::-webkit-media-controls-play-button:hover,
audio::-webkit-media-controls-mute-button:hover {
    background-color: #5FECEC !important; /* Bleu turquoise plus clair au survol */
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5) !important;
}

/* Tentative pour changer la couleur du trait de progression */
audio::-webkit-media-controls-timeline {
    color: #a6a6a6 !important; /* Essaye de cibler le trait turquoise */
}

/* Modifie la couleur des trois petits points */
audio::-webkit-media-controls-panel {
    background-color: transparent !important; /* Assure que le fond ne prend pas de couleur */
    color: #40E0D0 !important; /* Forcer la couleur turquoise pour les trois points */
}

/* Tentative supplémentaire pour cibler le trait du curseur de progression */
audio::-webkit-slider-runnable-track {
    background-color: #40E0D0 !important; /* Bleu turquoise pour la piste */
}

audio::-webkit-slider-thumb {
    background-color: #a6a6a6 !important; /* Plus clair pour le curseur lui-même */
}


@media (max-width: 768px) {
    .rtl-podcast-player .fixed-player-content {
        flex-direction: column;
        gap: 10px;
        padding: 15px;
    }

    .rtl-podcast-player #fixed-player-audio {
        width: 100%;
        max-width: 100%;
    }

    .rtl-podcast-player #fixed-player-title {
        width: 100%;
        text-align: center;
        font-size: 0.9em;
    }
}

.rtl-podcast-player .social-button {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease-in-out;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.rtl-podcast-player .social-button:hover {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .rtl-podcast-player .social-share-buttons {
        gap: 10px;
    }
    
    .rtl-podcast-player .social-button {
        width: 40px;
        height: 40px;
    }
    
    .rtl-podcast-player .social-button svg {
        width: 20px;
        height: 20px;
    }
}

.navigation-buttons {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    pointer-events: none;
    z-index: 1000;
}

.nav-button {
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid #00ffff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    pointer-events: auto;
}  

.nav-button:hover {
    background: rgba(0, 255, 255, 0.2);
    transform: scale(1.1);
}

.nav-button svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 768px) {
    .nav-button {
        width: 35px;
        height: 35px;
    }
    
    .nav-button svg {
        width: 20px;
        height: 20px;
    }
}
</style>
<script type="text/javascript" src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js"></script>

</head><body>
<div class="rtl-podcast-player">
    <div class="container" style="background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    border-radius: 0; /* Changed from 20px to 0 */
    box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);">
    <h1 style="color: #00ffff; text-align: center; font-size: 2.1em; margin-bottom: 40px; font-weight: 700; width: 100%; grid-column: 1 / -1; text-shadow: 0 0 10px rgba(0, 255, 255, 0.3); padding: 0 15px; display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap;">
Europe 1 Nuit - Écoutez tous les podcasts Europe 1 en rediffusion
<img decoding="async" src="https://cdn-europe1.lanmedia.fr/var/europe1/storage/images/europe1/animateurs/europe-12/53472641-3-fre-FR/Europe-1.png" alt="Logo Europe 1" style="width: 60px; height: 60px; border-radius: 50%; padding: 5px; background: white; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);">
</h1>
    <div class="social-share-buttons" style="display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 30px; width: 100%; grid-column: 1 / -1;">
    <button onclick="shareOnX()" class="social-button" style="background-color: #000;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path>
        </svg>
    </button>
    <button onclick="shareOnWhatsapp()" class="social-button" style="background-color: #25D366;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"></path>
        </svg>
    </button>
    <button onclick="shareOnFacebook()" class="social-button" style="background-color: #1877F2;">  
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path>
        </svg>
    </button>
    <button onclick="shareOnLinkedIn()" class="social-button" style="background-color: #0A66C2;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path>
        </svg>
    </button>
</div>
      
    <div id="featured-episode" style="display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: space-between; gap: 20px; height: 100%; position: relative; padding-top: 20px; cursor: pointer;">
  <div class="features-episode" style="width: 100%; height: 100%;">
    <!-- Première carte (dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
            
    <!-- Deuxième carte (avant-dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
  </div>
</div>
    <div>
    <div class="search-filter-container">
        <input type="text" id="podcast-search" placeholder="Rechercher un podcast..." oninput="filterAndDisplayEpisodes()">
        <select id="podcast-filter" onchange="filterAndDisplayEpisodes()">
            <option value="newest">Plus récents</option>
            <option value="oldest">Plus anciens</option>
        </select>
    </div>
    <div id="episode-grid">
        <style>
            .episode {
                cursor: pointer;
            }
            
            .episode > * {
                pointer-events: none;
            }
            
            .episode button {
                pointer-events: auto;
            }
        </style>
    </div>
    <div class="pagination" id="pagination">
    <button id="prev-btn" onclick="changePage('prev')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M15 18l-6-6 6-6"></path>
        </svg>
    </button>
    <span id="page-numbers"></span>
    <button id="next-btn" onclick="changePage('next')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M9 18l6-6-6-6"></path>
        </svg>
    </button>
</div>

      <div class="ad-banner" style="width: 100%; max-width: 508px; margin: 20px auto; text-align: center; grid-column: 1 / -1; background: rgba(0,0,0,0.3); padding: 15px; border-radius: 10px; border: 1px solid rgba(0, 255, 255, 0.2); transition: transform 0.3s ease;">
    <p style="color: #666; font-size: 12px; margin-bottom: 10px;">Publicité</p>
    <a href="https://universal-academy.com/recruter-des-alternants-dans-le-tourisme/" target="_blank" style="display: inline-block;">
        <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/Design-sans-titre-2024-11-06T134332.299.webp" alt="Bannière publicitaire RTL" style="width: 100%; max-width: 700px; height: auto; border-radius: 8px; transition: transform 0.3s ease;" onmouseover="this.style.transform='scale(1.02)'" onmouseout="this.style.transform='scale(1)'">
    </a>
</div>

    <script>
        // Ajouter un event listener pour les cartes d'épisodes
        document.getElementById('episode-grid').addEventListener('click', (e) => {
            const episodeCard = e.target.closest('.episode');
            if (episodeCard) {
                // Trouver le bouton dans la carte et simuler un clic dessus
                const button = episodeCard.querySelector('button');
                if (button) {
                    button.click();
                }
            }
        });
    </script>
</div>
    
    <div class="host-biography" style="grid-column: 1 / -1; background: rgba(0, 0, 0, 0.3); padding: 30px; border-radius: 15px; margin-top: 30px; border: 1px solid rgba(0, 255, 255, 0.2);">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
        <!-- Media query pour passer en une colonne sur mobile -->
        <style>
            @media (max-width: 768px) {
                .host-biography > div {
                    grid-template-columns: 1fr !important;
                }
            }
        </style>

      <div class="host-biography" style="grid-column: 1 / -1; padding: 30px; border-radius: 15px; margin-top: 30px;">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
      <div style="grid-column: 1 / -1; margin-bottom: 30px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">Maël Hassani aux commandes d'Europe 1 Nuit</h2>

    <!-- Nouveaux boutons de réseaux sociaux -->
    <div style="display: flex; justify-content: center; align-items: center; gap: 20px; margin: 20px 0;">
        <a href="https://www.facebook.com/Europe1/?locale=fr_FR" target="_blank" style="position: relative; width: 50px; height: 50px; background: #1877F2; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Facebook</span>
</a>

        <a href="https://www.instagram.com/europe1/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #E4405F; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Instagram</span>
</a>

        <a href="https://www.europe1.fr/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #00ffff; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#000000">
        <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur site web</span>
</a>
    </div>

    <style>
        /* Hover effects pour les boutons */
        .host-biography a:hover {
            transform: scale(1.1);
            box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
        }
        
        .host-biography a:hover span {
            opacity: 1;
        }

        /* Media queries pour le responsive */
        @media (max-width: 768px) {
            .host-biography div[style*="display: flex"] {
                flex-wrap: wrap;
                justify-content: center;
                gap: 15px;
            }
        }
    </style>

    <p style="color: #ffffff; line-height: 1.6; text-align: center; max-width: 1200px; margin: 0 auto;">
    Chaque nuit sur Europe 1, Maël Hassani accompagne les auditeurs qui ne dorment pas avec "Europe 1 Nuit". Dans une ambiance intimiste et bienveillante, il anime cette émission qui propose des moments d'échanges privilégiés avec les auditeurs. Entre conversations nocturnes, confidences et partages d'expériences, l'émission offre un espace d'écoute et de dialogue unique dans le paysage radiophonique français. Les thèmes abordés sont variés, allant des sujets de société aux histoires personnelles, en passant par l'actualité du moment. Maël Hassani sait créer une atmosphère propice aux confidences tout en maintenant un cadre respectueux et constructif. Ce rendez-vous nocturne est devenu au fil des années un moment précieux pour tous ceux qui cherchent une présence amicale et une oreille attentive durant leurs nuits blanches.
</p>
    
    <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 30px; padding: 20px;">
        <!-- Les 6 cartes existantes restent inchangées -->
        <!-- Carte 1 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M3 18v-6a9 9 0 0 1 18 0v6"></path>
                <path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"></path>
            </svg>
            <p style="color: #ffffff; margin: 0;">Écouter gratuitement tous les podcasts en streaming</p>
        </div>

        <!-- Carte 2 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                <polyline points="7 10 12 15 17 10"></polyline>
                <line x1="12" y1="15" x2="12" y2="3"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Télécharger les épisodes pour une écoute hors-ligne</p>
        </div>

        <!-- Carte 3 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"></path>
                <line x1="2" y1="20" x2="2" y2="20"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Diffuser sur votre Chromecast ou appareil compatible</p>
        </div>

        <!-- Carte 4 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <polygon points="10 8 16 12 10 16 10 8"></polygon>
            </svg>
            <p style="color: #ffffff; margin: 0;">Accéder à toutes les rediffusions des émissions précédentes</p>
        </div>

        <!-- Carte 5 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
        <circle cx="9" cy="7" r="4"></circle>
        <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
        <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Découvrez "Europe 1 Nuit" où Maël Hassani vous accompagne en direct pour des discussions passionnantes et des moments de partage avec les auditeurs durant la nuit.</p>
</div>

        <!-- Carte 6 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px; position: relative;" onmouseover="this.style.transform='translateY(-5px)'; document.getElementById('live-tooltip').style.opacity='1'" onmouseout="this.style.transform='translateY(0)'; document.getElementById('live-tooltip').style.opacity='0'" onclick="window.location.href='https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/'">
    <div id="live-tooltip" style="position: absolute; top: -40px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); color: #fff; padding: 8px 15px; border-radius: 5px; font-size: 14px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; border: 1px solid #00ffff; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">
        Cliquez pour écouter en direct "Europe 1 13h"
    </div>
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M4 12h1"></path>
        <path d="M9 12h1"></path>
        <path d="M14 12h1"></path>
        <path d="M19 12h1"></path>
        <rect x="2" y="8" width="20" height="12" rx="2"></rect>
        <path d="M6 8V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4"></path>
        <circle cx="12" cy="14" r="4"></circle>
        <path d="M12 10v8"></path>
        <path d="M8 14h8"></path>
    </svg>
    <p style="color: #ffffff;">Ou écouter en direct Europe 1 nuit présenté par Maêl Hassani</p>
    <p style="color: #00ffff; margin-top: 10px; font-weight: bold; font-size: 0.8em;">
    22H00 - 22H30 : Lundi, Mardi, Mercredi, Jeudi, Vendredi
</p>
</div>
    </div>
</div>
        
        <!-- Histoire de l'émission -->
        <div style="padding: 20px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">L'Histoire d'Europe 1 Nuit</h2>
    <p style="color: #ffffff; line-height: 1.6; text-align: center;">
        Europe 1 Nuit est une émission nocturne emblématique d'Europe 1, animée par Maël Hassani. Cette émission intime et chaleureuse accompagne les auditeurs durant leurs nuits avec une programmation riche en échanges et en partages.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        Chaque nuit, de 22h à 22h30, l'émission offre un espace d'écoute et de dialogue unique où les auditeurs peuvent partager leurs histoires, leurs questionnements et leurs expériences. Maël Hassani apporte une présence rassurante et bienveillante, créant une atmosphère propice aux confidences et aux discussions profondes.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        L'émission s'est imposée comme un rendez-vous incontournable des noctambules grâce à son format intimiste et sa capacité à aborder des sujets variés avec sensibilité et respect. Avec des thématiques touchant à tous les aspects de la vie, des témoignages authentiques et des moments de partage sincères, Europe 1 Nuit offre une parenthèse nocturne réconfortante et enrichissante pour tous ceux qui ne dorment pas.
    </p>
    <div style="margin-top: 30px;">
        <img decoding="async" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRy6GsGco4zMgYRUzWQ13d6C5kmXZ-yaoSWyQ&amp;s" alt="Le Studio des Légendes sur Europe 1" style="width: 96%; max-width: 360px; height: auto; border-radius: 15px; object-fit: cover;">
    </div>
</div>

        <!-- Biographie de Laurent Ruquier -->
        <div style="display: flex; flex-direction: column; align-items: center; gap: 20px;">
    <div style="width: 200px; height: 200px; border-radius: 50%; overflow: hidden; border: 3px solid #00ffff;">
        <img decoding="async" src="https://media.licdn.com/dms/image/v2/D4E03AQGABMGjkfzr7g/profile-displayphoto-shrink_200_200/profile-displayphoto-shrink_200_200/0/1698453738662?e=2147483647&amp;v=beta&amp;t=WmrXfu20wpl6df7FaORp1KODAQvWlur7ua4si29orZ4" alt="Portrait de l'animatrice, style professionnel" style="width: 100%; height: 100%; object-fit: cover;">
    </div>
    <div style="text-align: center;">
        <h2 style="color: #00ffff; margin-bottom: 20px;">Maël Hassani - Une voix nocturne rassurante sur Europe 1</h2>
        <p style="color: #ffffff; line-height: 1.8;">
Maël Hassani anime avec bienveillance et professionnalisme l'émission Europe 1 Nuit. Ce journaliste talentueux accompagne chaque nuit les auditeurs qui ne trouvent pas le sommeil, créant un espace d'écoute et de partage unique dans le paysage radiophonique français.

Au micro d'Europe 1, Maël Hassani excelle dans l'art de créer une atmosphère intime et chaleureuse. Sa capacité à alterner entre conversations profondes et moments plus légers fait de lui un animateur particulièrement apprécié des auditeurs nocturnes.

Dans son émission, il démontre une expertise précieuse dans l'art d'accompagner les confidences et les témoignages des auditeurs. Avec empathie et sensibilité, il guide les conversations à travers des sujets variés, offrant une oreille attentive et des échanges authentiques.

Son style posé et sa voix rassurante ont contribué à faire d'Europe 1 Nuit un rendez-vous incontournable pour tous ceux qui cherchent une présence amicale durant leurs nuits blanches. Sa façon d'animer bienveillante et son professionnalisme en font une voix essentielle des nuits d'Europe 1.
        </p>
    </div>
</div>

        <!-- Sources (span across both columns) -->
        <div style="grid-column: 1 / -1; margin-top: 20px; padding: 15px; background: rgba(0, 0, 0, 0.2); border-radius: 10px; text-align: center;">
    <h3 style="color: #00ffff; margin-bottom: 10px; font-size: 1.2em;">Sources :</h3>
    <ul style="list-style: none; padding: 0; text-align: center; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
        <li>
            <a href="https://fr.wikipedia.org/wiki/Europe_1" target="_blank" style="color: #00ffff; text-decoration: none; transition: all 0.3s; padding: 5px 10px; border-radius: 5px; display: inline-block; &amp;:hover { background: rgba(0, 255, 255, 0.1); transform: translateY(-2px); box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); }">• Wikipédia - Histoire d'Europe 1</a>
        </li>
    </ul>
</div>
    </div>
</div>

</div>

    <div id="player-modal" class="modal">
        <div class="modal-content">
    <span class="close" onclick="closeModal()">×</span>
    <div class="navigation-buttons">
        <button id="prev-episode" onclick="navigateEpisode('prev')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M15 18l-6-6 6-6"></path>
            </svg>
        </button>
        <button id="next-episode" onclick="navigateEpisode('next')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M9 18l6-6-6-6"></path>
            </svg>
        </button>
    </div>
    <div id="player-content">
    <style>
        /* Styles existants */
        .modal-content {
            background-color: #1a1a1a;
            padding: 40px;
            border: 2px solid #00ffff;
            width: 90%;
            max-width: 500px;
            max-height: 90vh;
            border-radius: 20px;
            text-align: center;
            box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
            position: fixed; /* Changé de absolute à fixed */
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) !important; /* Ajout de !important */
            overflow-y: auto;
            color: white;
        }

        /* Change la couleur du timing en noir */
        audio::-webkit-media-controls-time-display {
            color: #000000 !important;
        }

        /* Ajout de media queries pour le mobile */
        @media (max-width: 768px) {
            .modal-content {
                padding: 30px;
                width: 95%;
                margin: 0 auto;
                position: fixed;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%) !important;
            }
        }

        @media (max-height: 600px) {
            .modal-content {
                max-height: 85vh;
            }
        }
    </style>
</div>
    <button id="chromecast-button" onclick="startChromecast()" style="width: 60px; height: 60px; border-radius: 50%; padding: 0; background-image: url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png'); background-size: 35px; background-position: center; background-repeat: no-repeat; font-size: 0;"></button>
</div>
    </div>

    <div id="fixed-player-bar" class="rtl-podcast-player" style="display: none;">
    <div class="fixed-player-content">
        <h3 id="fixed-player-title"></h3>
        <div class="audio-controls-container" style="display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%; max-width: 800px; margin: 0 auto;">
            <audio id="fixed-player-audio" controls="">
                <source src="" type="audio/mpeg">
            </audio>
            <button onclick="startChromecast()" style="width: 40px; height: 40px; min-width: 40px; border-radius: 50%; padding: 0; background: #ffffff url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png') center/25px no-repeat; border: 2px solid #00ffff; font-size: 0; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">Cast to Chromecast</button>
            <button id="close-fixed-player" onclick="closeFixedPlayer()" style="background: none; border: none; color: #00ffff; font-size: 24px; cursor: pointer; padding: 5px; min-width: 24px; display: flex; align-items: center; justify-content: center;">×</button>
        </div>
    </div>
</div>

    <script>
    (function RTLPodcastPlayer() {
        // Initialize cast api
        window.__onGCastApiAvailable = function(isAvailable) {
            if (!isAvailable) return;

            const initializeCastApi = function() {
                const sessionRequest = new chrome.cast.SessionRequest(chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);
                const apiConfig = new chrome.cast.ApiConfig(
                    sessionRequest,
                    sessionListener,
                    receiverListener
                );
                chrome.cast.initialize(apiConfig, onInitSuccess, onError);
            };

            const sessionListener = function(session) {
                console.log('Session listener', session);
            };

            const receiverListener = function(availability) {
                console.log('Receiver listener', availability);
            };

            const onInitSuccess = function() {
                console.log('Cast initialization success');
            };

            const onError = function(error) {
                console.error('Cast initialization error', error);
            };

            if (!chrome.cast || !chrome.cast.isAvailable) {
                setTimeout(initializeCastApi, 1000);
            } else {
                initializeCastApi();
            }
        };

        const rssUrl = "https://www.europe1.fr/rss/podcasts/europe-1-nuit.xml";
        const proxyUrl = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(rssUrl)}&api_key=int3lqiwwrpnsvem6yki0mtwki2f4qcvcxtrlyea&count=50`;
        const episodesPerPage = 4;
        let currentPage = 1;
        let currentAudioUrl = '';
        let totalPages = 0;

        // Ajouter ces variables au début du script
        let currentEpisodeIndex = 0;
        let allEpisodes = [];
        let filteredEpisodes = [];

        fetch(proxyUrl)
            .then(response => response.json())
            .then(data => {
                if (data.status !== "ok") {
                    throw new Error("Erreur de chargement du flux RSS.");
                }
                allEpisodes = data.items;
                filteredEpisodes = [...allEpisodes];
                displayFeaturedEpisode(allEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(allEpisodes);
            })
            .catch(error => {
                document.getElementById("featured-episode").innerHTML = "<p>Impossible de charger le flux RSS. Veuillez réessayer plus tard.</p>";
            });

        function truncateDescription(description, maxLength = 180) {
    // Crée un élément temporaire pour décoder les entités HTML
    const tempElement = document.createElement("div");
    tempElement.innerHTML = description;
    
    // Récupère le texte brut de la description
    let plainText = tempElement.innerText || tempElement.textContent || '';

    // Tronque le texte si nécessaire
    if (plainText.length <= maxLength) return plainText.trim();
    return plainText.substring(0, maxLength).trim() + '...';
}

function displayFeaturedEpisode(episode) {
    const featuredEpisode = document.getElementById("featured-episode");
    
    // Créer le HTML pour les deux premières émissions
    featuredEpisode.innerHTML = `
    <div class="features-episode" style="width: 100%; height: 100%;">
        <!-- Première carte (dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[0].enclosure.link)}', '${sanitizeString(allEpisodes[0].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[0].title)}</h3>
            ${allEpisodes[0].thumbnail ? `<img decoding="async" src="${allEpisodes[0].thumbnail}" alt="Image de la dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[0].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[0].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
        
        <!-- Deuxième carte (avant-dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[1].enclosure.link)}', '${sanitizeString(allEpisodes[1].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[1].title)}</h3>
            ${allEpisodes[1].thumbnail ? `<img decoding="async" src="${allEpisodes[1].thumbnail}" alt="Image de l'avant-dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[1].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[1].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
    </div>
    `;
}

function displayEpisodes(page, episodes) {
    const episodeGrid = document.getElementById("episode-grid");
    episodeGrid.innerHTML = "";
    const episodesWithoutFeatured = episodes.slice(2);
    const start = (page - 1) * episodesPerPage;  
    const end = start + episodesPerPage;
    
    episodesWithoutFeatured.slice(start, end).forEach(item => {
        // IMPORTANT : Encode les titres pour éviter les problèmes avec les apostrophes
        const encodedTitle = encodeURIComponent(item.title);
        const encodedUrl = encodeURIComponent(item.enclosure.link);
        
        episodeGrid.innerHTML += `
    <div class="episode">
        <h5 style="color: #00ffff;">${sanitizeString(item.title)}</h5>
        ${item.thumbnail ? `<img decoding="async" src="${item.thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 150px;">` : ""}
        <div class="description" style="color: white;">${truncateDescription(item.description)}</div>
        <div class="date-badge">
            ${new Date(item.pubDate).toLocaleDateString('fr-FR', {
                day: '2-digit',
                month: '2-digit',
                year: '2-digit'
            })}
        </div>
        <button onclick="openModal('${sanitizeString(item.enclosure.link)}', '${sanitizeString(item.title)}')"></button>
    </div>
`;
    });
    updatePaginationButtons();
}

        function setupPagination(episodes) {
    // Soustrait les 2 épisodes featured au lieu d'un seul
    totalPages = Math.ceil((episodes.length - 2) / episodesPerPage);
    const pageNumbers = document.getElementById("page-numbers");
    pageNumbers.innerHTML = "";

    // Calcule quels numéros afficher
    let start = currentPage;
    if (currentPage === totalPages) {
        start = totalPages - 2;
    } else if (currentPage === 1) {
        start = 1;
    } else {
        start = currentPage - 1;
    }

    // S'assure que start n'est jamais inférieur à 1
    start = Math.max(1, start);
    
    // Affiche 3 boutons à partir de start
    for (let i = start; i < start + 3 && i <= totalPages; i++) {
        const button = document.createElement("button");
        button.textContent = i;
        button.addEventListener("click", () => {
            currentPage = i;
            displayEpisodes(currentPage, episodes);
            setupPagination(episodes); // Important : rafraîchit la pagination
        });
        pageNumbers.appendChild(button);
    }

    // Réactive la fonctionnalité des boutons précédent/suivant
    window.changePage = function(direction) {
        if (direction === 'prev' && currentPage > 1) {
            currentPage--;
        } else if (direction === 'next' && currentPage < totalPages) {
            currentPage++;
        }
        displayEpisodes(currentPage, filteredEpisodes);
        setupPagination(episodes); // Rafraîchit la pagination
        updatePaginationButtons();
    }

    updatePaginationButtons();
}

        function updatePaginationButtons() {
            const prevBtn = document.getElementById('prev-btn');
            const nextBtn = document.getElementById('next-btn');
            
            prevBtn.disabled = currentPage === 1;
            nextBtn.disabled = currentPage === totalPages;
            
            prevBtn.style.opacity = currentPage === 1 ? '0.5' : '1';
            nextBtn.style.opacity = currentPage === totalPages ? '0.5' : '1';
            
            const pageButtons = document.querySelectorAll('#page-numbers button');
            pageButtons.forEach((button, index) => {
                if (index + 1 === currentPage) {
                    button.style.backgroundColor = '#00ffff';
                    button.style.color = '#000';
                } else {
                    button.style.backgroundColor = '#1a1a1a';
                    button.style.color = '#00ffff';
                }
            });
        }

        window.openModal = function(audioUrl, title) {
            const playerContent = document.getElementById("player-content");
            
            // Find the episode data from allEpisodes based on the audioUrl
            const currentEpisode = allEpisodes.find(ep => ep.enclosure.link === audioUrl);
            
            // Get the thumbnail from the episode data directly
            const thumbnail = currentEpisode?.thumbnail;

            // Trouve l'index de l'épisode actuel
            currentEpisodeIndex = allEpisodes.findIndex(ep => ep.enclosure.link === audioUrl);
            
            playerContent.innerHTML = `
                <h2>${title}</h2>
                ${thumbnail ? `<img decoding="async" src="${thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 300px; margin: 15px 0;">` : ''}
                <audio controls style="width: 100%; margin-top: 10px;" id="modal-audio">
                    <source src="${audioUrl}" type="audio/mpeg">
                    Votre navigateur ne supporte pas la lecture audio.
                </audio>
            `;
            
            // Mise à jour de la visibilité des boutons de navigation
            updateNavigationButtons();
            
            currentAudioUrl = audioUrl;
            document.getElementById("player-modal").style.display = "block";
            
            // Store current title for fixed player
            window.currentEpisodeTitle = title;
            
            // Setup audio element for fixed player
            const modalAudio = document.getElementById('modal-audio');
            modalAudio.addEventListener('play', () => {
                window.isPlaying = true;
            });
            modalAudio.addEventListener('pause', () => {
                window.isPlaying = false;
            });
        }

    window.navigateEpisode = function(direction) {
        let newIndex = direction === 'prev' ? currentEpisodeIndex - 1 : currentEpisodeIndex + 1;
        
        if (newIndex >= 0 && newIndex < allEpisodes.length) {
            const episode = allEpisodes[newIndex];
            openModal(episode.enclosure.link, episode.title);
        }
    }

      function sanitizeString(str) {
    return str.replace(/['"\\<>]/g, "");
}


    function updateNavigationButtons() {
        const prevButton = document.getElementById('prev-episode');
        const nextButton = document.getElementById('next-episode');
        
        prevButton.style.display = currentEpisodeIndex === 0 ? 'none' : 'flex';
        nextButton.style.display = currentEpisodeIndex === allEpisodes.length - 1 ? 'none' : 'flex';
    }

        window.closeModal = function() {
            const modalAudio = document.getElementById('modal-audio');
            const fixedPlayerBar = document.getElementById('fixed-player-bar');
            const fixedPlayerAudio = document.getElementById('fixed-player-audio');
            const fixedPlayerTitle = document.getElementById('fixed-player-title');
            
            if (window.isPlaying) {
                // Pause modal audio first
                modalAudio.pause();
                
                // Set up fixed player
                fixedPlayerBar.style.display = 'block';
                fixedPlayerTitle.textContent = window.currentEpisodeTitle;
                fixedPlayerAudio.src = currentAudioUrl;
                fixedPlayerAudio.currentTime = modalAudio.currentTime;
                fixedPlayerAudio.play();
            }
            
            document.getElementById("player-modal").style.display = "none";
        }

    // Add close fixed player function
    window.closeFixedPlayer = function() {
        const fixedPlayerBar = document.getElementById('fixed-player-bar');
        const fixedPlayerAudio = document.getElementById('fixed-player-audio');
        fixedPlayerAudio.pause();
        fixedPlayerBar.style.display = 'none';
    }

        window.startChromecast = function() {
            if (!chrome.cast || !chrome.cast.isAvailable) {
                console.log('Cast API not available');
                return;
            }

            chrome.cast.requestSession(
                function(session) {
                    if (currentAudioUrl) {
                        const mediaInfo = new chrome.cast.media.MediaInfo(currentAudioUrl, 'audio/mpeg');
                        mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();
                        mediaInfo.metadata.title = document.querySelector('#player-content h2').textContent;

                        const request = new chrome.cast.media.LoadRequest(mediaInfo);
                        session.loadMedia(request).then(
                            () => console.log('Lecture Chromecast démarrée'),
                            errorCode => console.error('Erreur Chromecast: ' + errorCode)
                        );
                    }
                },
                function(error) {
                    console.error('Erreur lors de la création de la session:', error);
                }
            );
        }

        window.shareOnX = function() {
            const text = "Écoutez les podcasts : Europe 1 Nuit d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(text)}&url=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnWhatsapp = function() {
            const text = "Écoutez les podcasts : Europe 1 Nuit d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://wa.me/?text=${encodeURIComponent(text + ' ' + url)}`, '_blank');
        };

        window.shareOnFacebook = function() {
          const text = "Écoutez les podcasts : Europe 1 Nuit d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnLinkedIn = function() {
          const text = "Écoutez les podcasts : Europe 1 Nuit d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(url)}`, '_blank');
        };

        window.filterAndDisplayEpisodes = function() {
            const searchTerm = document.getElementById('podcast-search').value.toLowerCase();
            const filterValue = document.getElementById('podcast-filter').value;
            
            // Filter episodes based on search term
            filteredEpisodes = allEpisodes.filter(episode => 
                episode.title.toLowerCase().includes(searchTerm) || 
                episode.description.toLowerCase().includes(searchTerm)
            );
            
            // Sort episodes based on filter value
            if (filterValue === 'oldest') {
                filteredEpisodes.sort((a, b) => new Date(a.pubDate) - new Date(b.pubDate));
            } else {
                filteredEpisodes.sort((a, b) => new Date(b.pubDate) - new Date(a.pubDate));
            }
            
            // Reset pagination to first page when filtering
            currentPage = 1;
            
            // Update display
            if (filteredEpisodes.length > 0) {
                displayFeaturedEpisode(filteredEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(filteredEpisodes);
            } else {
                // Handle no results
                document.getElementById('episode-grid').innerHTML = '<p style="color: #fff; text-align: center; grid-column: 1/-1;">Aucun résultat trouvé</p>';
                document.getElementById('page-numbers').innerHTML = '';
            }
        }
    })();
</script>
</div>
</div></div></body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-9e9820f e-con-full e-flex e-con e-parent" data-id="9e9820f" data-element_type="container">
				<div class="elementor-element elementor-element-d4246d5 elementor-widget elementor-widget-html" data-id="d4246d5" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<html><head><base>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  <style>
    .rs-carousel-section {
      padding: 50px 0; 
      background: linear-gradient(45deg, #1a1a1a, #2c2c2c, #0e4d4d);
      background-size: 400% 400%;
      animation: rs-gradientBG 15s ease infinite;
      color: #ffffff;
      font-family: 'Roboto', sans-serif;
      min-height: flex; 
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .rs-title {
      color: #00ffff;
      text-align: center;
      margin: 2rem 0;
      font-size: 2rem;
      text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-container {
      max-width: auto;
      width: 100%;
      position: relative;
      padding: 50px 150px; 
      box-sizing: border-box;
      overflow: hidden;
      margin: 0 auto; 
    }

    .rs-carousel {
      display: flex;
      overflow: hidden;
      scroll-behavior: smooth;
      gap: 20px;
      padding: 20px 0 0 0;
      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .rs-radio-card {
      min-width: 250px;
      flex: 0 0 250px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 15px;
      text-align: center;
      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
      border: 2px solid #00ffff;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);
      position: relative;
      overflow: hidden;
      transform-origin: center center;
      padding: 20px 15px; /* Add consistent padding */
    }

    .rs-radio-card.rs-scrolling {
      transform: scale(0.95) rotate(-2deg);
    }

    .rs-radio-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(0, 255, 255, 0.1), transparent);
      transition: 0.5s;
    }

    .rs-radio-card:hover::before {
      left: 100%;
    }

    .rs-radio-card:hover {
      transform: translateY(-5px) scale(1.02);
      box-shadow: 0 10px 30px rgba(0, 255, 255, 0.3);
      z-index: 1;
    }

    .rs-radio-logo {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      margin-bottom: 1rem;
      border: 3px solid #00ffff;
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);
      transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      cursor: pointer; /* Add cursor pointer to indicate interactivity */
    }

    .rs-radio-logo:hover {
      transform: rotateY(180deg) scale(1.15);
      border-color: #ff00ff;
      box-shadow: 
        0 0 25px rgba(0, 255, 255, 0.5),
        0 0 50px rgba(255, 0, 255, 0.3);
      animation: logoGlow 1.5s infinite alternate;
    }

    @keyframes logoGlow {
      0% {
        box-shadow: 0 0 25px rgba(0, 255, 255, 0.5),
                    0 0 50px rgba(255, 0, 255, 0.3);
      }
      100% {
        box-shadow: 0 0 35px rgba(0, 255, 255, 0.8),
                    0 0 70px rgba(255, 0, 255, 0.6);
      }
    }

    .rs-radio-name {
      font-size: 1.2rem; /* Reduced from 1.5rem */
      margin: 15px 0;
      color: #00ffff;
      transition: all 0.3s ease;
      position: relative; /* Added */
    }

    /* Add hover state for radio name span elements */
    .rs-radio-name span:first-child {
      display: inline-block;
      transition: opacity 0.3s ease;
    }

    .rs-radio-name span:last-child {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      opacity: 0;
      transition: opacity 0.3s ease;
      width: 100%;
    }

    .rs-radio-card:hover .rs-radio-name span:first-child {
      opacity: 0;
    }

    .rs-radio-card:hover .rs-radio-name span:last-child {
      opacity: 1;
    }

    .rs-listen-button {
      position: relative; /* Add this */
      background: #00ffff;
      color: #000;
      width: 60px;
      height: 60px;
      border: none;
      border-radius: 50%;
      font-size: 1.5rem;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      text-decoration: none;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 1rem auto;
      overflow: hidden;
    }

    .rs-listen-button:hover {
      background: #00cccc;
      transform: scale(1.1) rotate(360deg);
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.6);
    }

    .rs-listen-button::before {
      content: "Voir la webradio";
      position: absolute;
      bottom: -30px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(0, 255, 255, 0.9);
      color: #000;
      padding: 5px 10px;
      border-radius: 4px;
      font-size: 12px;
      white-space: nowrap;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
    }

    .rs-listen-button:hover::before {
      opacity: 1;
      visibility: visible;
      bottom: -35px;
    }

    .rs-listen-button:hover i {
      animation: rs-colorChange 2s infinite;
    }

    @keyframes rs-colorChange {
      0% { color: #ff0000; }
      20% { color: #ff7700; }
      40% { color: #ffff00; }
      60% { color: #00ff00; }
      80% { color: #0000ff; }
      100% { color: #ff0000; }
    }

    .rs-listen-button::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle, transparent 30%, rgba(255, 255, 255, 0.3) 70%);
      animation: rs-pulseGlow 2s infinite;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-listen-button:hover::after {
      opacity: 1;
    }

    @keyframes rs-pulseGlow {
      0% {
        transform: scale(0.95);
        opacity: 0.5;
      }
      50% {
        transform: scale(1.1);
        opacity: 0.2;
      }
      100% {
        transform: scale(0.95);
        opacity: 0.5;
      }
    }

    .rs-carousel-button {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0, 255, 255, 0.2);
      border: none;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #00ffff;
      font-size: 1.5rem;
      transition: all 0.3s ease;
      z-index: 2;
      overflow: hidden; /* Add this for ripple effect */
    }

    .rs-carousel-button:hover {
      background: rgba(0, 255, 255, 0.2);
      transform: translateY(-50%) scale(1.1);
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-button::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle at center, rgba(0, 255, 255, 0.8) 0%, transparent 70%);
      transform: scale(0);
      opacity: 0;
      transition: transform 0.5s ease-out, opacity 0.3s ease;
    }

    .rs-carousel-button:hover::before {
      transform: scale(2);
      opacity: 0.3;
    }

    .rs-carousel-button:hover i {
      animation: arrowBounce 0.5s ease infinite alternate;
    }

    @keyframes arrowBounce {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(3px);
      }
    }

    .rs-carousel-button.rs-prev:hover i {
      animation: arrowBounceLeft 0.5s ease infinite alternate;
    }

    @keyframes arrowBounceLeft {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(-3px);
      }
    }

    .rs-carousel-button.rs-prev {
      left: 0;
    }

    .rs-carousel-button.rs-next {
      right: 0;
    }

    @keyframes rs-floatingNotesCard {
      0% {
        opacity: 0;
        transform: translate(0, 0) rotate(0deg);
      }
      50% {
        opacity: 1;
      }
      100% {
        opacity: 0;
        transform: translate(-50px, -50px) rotate(360deg);
      }
    }

    .rs-card-notes {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-radio-card:hover .rs-card-notes {
      opacity: 1;
    }

    .rs-card-note {
      position: absolute;
      font-size: 20px;
      color: #00ffff;
      animation: rs-floatingNotesCard 2s ease-out infinite;
    }

    .rs-card-note-1 { top: 10%; left: 10%; animation-delay: 0s; }
    .rs-card-note-2 { top: 5%; left: 30%; animation-delay: 0.3s; }
    .rs-card-note-3 { top: 15%; left: 50%; animation-delay: 0.6s; }
    .rs-card-note-4 { top: 8%; left: 70%; animation-delay: 0.9s; }
    .rs-card-note-5 { top: 12%; left: 90%; animation-delay: 1.2s; }

    .rs-radio-tag {
      position: absolute;
      top: 10px;
      right: 10px;
      padding: 5px 12px;
      font-size: 0.8rem;
      border-radius: 15px;
      background: rgba(0, 0, 0, 0.7);
      color: #fff;
      border: 1px solid #00ffff;
      box-shadow: 0 0 5px #00ffff,
                  inset 0 0 5px #00ffff;
      text-transform: uppercase;
      letter-spacing: 1px;
      transition: all 0.3s ease;
      transform-style: preserve-3d;
      perspective: 1000px;
      cursor: pointer;
    }
    
    .rs-radio-tag i {
      margin-right: 5px;
      color: #00ffff;
      text-shadow: 0 0 5px #00ffff,
                   0 0 10px #00ffff,
                   0 0 15px #00ffff;
    }

    /* Add hover effects */
    .rs-radio-tag:hover {
      transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      box-shadow: 0 0 15px #00ffff,
                  inset 0 0 10px #00ffff,
                  0 10px 20px rgba(0, 255, 255, 0.4);
      background: rgba(0, 255, 255, 0.1);
      letter-spacing: 2px;
      animation: tagFloat 1s ease-in-out infinite alternate;
    }

    /* Add new keyframe animation */
    @keyframes tagFloat {
      0% {
        transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      }
      100% {
        transform: translateZ(30px) rotateX(15deg) rotateY(-15deg);
        text-shadow: 2px 2px 4px rgba(0, 255, 255, 0.6);
      }
    }

    /* Add before/after elements for 3D effect */
    .rs-radio-tag::before {
      content: '';
      position: absolute;
      inset: -2px;
      background: linear-gradient(45deg, transparent, rgba(0, 255, 255, 0.3), transparent);
      transform: translateZ(-1px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag::after {
      content: '';
      position: absolute;
      inset: -1px;
      background: linear-gradient(-45deg, transparent, rgba(0, 255, 255, 0.2), transparent);
      transform: translateZ(-2px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag:hover::before,
    .rs-radio-tag:hover::after {
      opacity: 1;
    }

    @keyframes rs-floatingNotes {
      0% {
        transform: translateY(0) rotate(0deg) scale(1);
        opacity: 0;
      }
      50% {
        transform: translateY(-20px) rotate(180deg) scale(1.2);
        opacity: 1;
      }
      100% {
        transform: translateY(-40px) rotate(360deg) scale(1);
        opacity: 0;
      }
    }

    @media (max-width: 768px) {
      .rs-carousel-section {
        padding: 30px 0;
      }
      .rs-carousel-container {
        padding: 15px 20px; 
      }
      .rs-radio-card {
        min-width: 250px !important; /* Reduced by 20% from original 312.5px */
        flex: 0 0 250px !important; /* Reduced by 20% from original 312.5px */
      }
      /* Content size reductions */
      .rs-radio-logo {
        width: 84px !important;
        height: 84px !important;
      }
      .rs-radio-name {
        font-size: 1rem !important;
      }
      .rs-listen-button {
        width: 48px;
        height: 48px;
      }
    }

    @media (max-width: 480px) {
      .rs-carousel-section {
        padding: 20px 0;
      }
      .rs-carousel-container {
        padding: 0 30px; 
      }
      .rs-radio-card {
        min-width: 200px !important; /* Further reduced by 20% from tablet size */
        flex: 0 0 200px !important; /* Further reduced by 20% from tablet size */
      }
      /* Further reduce content for smallest screens */
      .rs-radio-logo {
        width: 76px !important;
        height: 76px !important;
        margin: 8px auto 12px !important;
      }
      .rs-radio-name {
        font-size: 0.9rem !important;
      }
      .rs-listen-button {
        width: 40px;
        height: 40px;
      }
    }

    /* Add this CSS inside the existing <style> tag */
    .rs-all-podcasts-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 12px 24px;
      margin: 30px auto 20px;
      background: linear-gradient(45deg, #00ffff, #00cccc);
      border: none;
      border-radius: 25px;
      color: #000;
      font-size: 1rem;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.3s ease;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
      position: relative;
      overflow: hidden;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .rs-all-podcasts-btn:hover {
      transform: translateY(-2px) scale(1.05);
      box-shadow: 
        0 0 20px rgba(0, 255, 255, 0.5),
        0 0 40px rgba(0, 255, 255, 0.2);
    }

    .rs-all-podcasts-btn::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, transparent 65%);
      transform: scale(0);
      transition: transform 0.6s ease-out;
    }

    .rs-all-podcasts-btn:hover::before {
      transform: scale(1) rotate(45deg);
    }

    .rs-all-podcasts-btn i {
      font-size: 1.2rem;
      color: #000;
    }
  </style>
</head>
<body>
  <div class="rs-carousel-section" id="radiostreamr-carousel-section">
    <h2 class="rs-title" id="radiostreamr-title" style="font-size: 28px; animation: textGlow 2s infinite; text-shadow: 0 0 10px rgba(0, 255, 255, 0.5), 0 0 20px rgba(0, 255, 255, 0.3), 0 0 30px rgba(0, 255, 255, 0.2); position: relative; padding-left: 15px; padding-right: 15px;">
  Ecoutez les meilleurs podcasts de la chaine Europe 1 :
</h2>
    
    <div class="rs-carousel-container" id="radiostreamr-container">
      <button class="rs-carousel-button rs-prev" id="radiostreamr-prev-button">
        <i class="fas fa-chevron-left"></i>
      </button>
      
      <div class="rs-carousel" id="radiostreamr-carousel" style="gap: 25px;">

        <!-- Skyrock -->
        <div class="rs-radio-card" id="radiostreamr-card-hondelatte" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/hondelatte-raconte-podcast.webp" alt="Hondelatte raconte" class="rs-radio-logo" style="width: 105px; height: 105px; margin: 10px auto 15px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Histoire prenante</span>
          <h2 class="rs-radio-name">
            <span>Hondelatte raconte</span>
            <span>Podcasts Hondelatte raconte</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-hondelatte-raconte/" class="rs-listen-button" style="margin: 15px auto 10px;">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Oui FM -->
        <div class="rs-radio-card" id="radiostreamr-card-On-marche-sur-la-tête" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-podcast-on-marche-sur-la-tete-cyril-hanouna-radiostreamr.webp" alt="On marche sur la tête logo" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-laugh"></i>Humour</span>
          <h2 class="rs-radio-name">
            <span>On marche sur la tête</span>
            <span>Podcasts On marche sur la tête</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-on-marche-sur-la-tete/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- FIP -->
        <div class="rs-radio-card" id="radiostreamr-card-Europe-1-Matin" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-matin-podcast.webp" alt="FIP Radio" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Matin</span>
            <span>Podcasts Europe 1 Matin</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-matin/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
        
        <!-- Add after the FIP card and before RMC -->
        <div class="rs-radio-card" id="radiostreamr-card-le-grand-rendez-vous" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/0x1900-000000-80-0-0.webp" alt="Le grand rendez-vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Le Grand Rendez-vous</span>
            <span>Podcasts Le Grand Rendez-vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-le-grand-rendez-vous//" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-pascal-praud" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/pascal-praud-podcast.webp" alt="Pascal Praud et vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Pascal Praud et vous</span>
            <span>Podcasts Pascal Praud et vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-pascal-praud/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-cheriefm" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-logo-radio-en-ligne.webp" alt="Charlotte d'Ornellas - Les signatures d'Europe 1" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Chronique actualité</span>
          <h2 class="rs-radio-name">
            <span>Charlotte d'Ornellas</span>
            <span>Podcasts Charlotte d'Ornellas</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-chronique-charlotte-dornellas/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- La Libre Antenne -->
        <div class="rs-radio-card" id="radiostreamr-card-libre-antenne" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/libre-antenne.webp" alt="La Libre Antenne" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-comments"></i>Discussion</span>
          <h2 class="rs-radio-name">
            <span>La Libre Antenne</span>
            <span>Podcasts La Libre Antenne</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-olivier-delacroix/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Il n'y a qu'une vie dans la vie -->
        <div class="rs-radio-card" id="radiostreamr-card-isabelle-morizet" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/isabelle-morizet-podcast.webp" alt="Il n'y a qu'une vie dans la vie" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-friends"></i>Interview</span>
          <h2 class="rs-radio-name">
            <span>Il n'y a qu'une vie dans la vie</span>
            <span>Podcasts Isabelle Morizet</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-isabelle-morizet/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 Soir -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-soir" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-soir-podcasts.webp" alt="Europe 1 Soir" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Soir</span>
            <span>Podcasts Europe 1 Soir</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-soir/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 13h -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-13h" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-13h-podcast.webp" alt="Europe 1 13h" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 13h</span>
            <span>Podcasts Europe 1 13h</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-13h/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Le Studio des Légendes -->
        <div class="rs-radio-card" id="radiostreamr-card-studio-legendes" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/le-studio-des-legendes-podcast.webp" alt="Le Studio des Légendes" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-star"></i>Culture</span>
          <h2 class="rs-radio-name">
            <span>Le Studio des Légendes</span>
            <span>Podcasts Le Studio des Légendes</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-studio-des-legendes/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe Soir Week-end -->
        <div class="rs-radio-card" id="radiostreamr-card-europe-soir-weekend" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-soir-week-end-podcast.webp" alt="Europe Soir Week-end" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe Soir Week-end</span>
            <span>Podcasts Europe Soir Week-end</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe-soir-week-end/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- L'heure des Pros -->
        <div class="rs-radio-card" id="radiostreamr-card-heure-pros" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/lheure-des-pros-podcast.webp" alt="L'heure des Pros" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>L'heure des Pros</span>
            <span>Podcasts L'heure des Pros</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-lheure-des-pros/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les années Top 50 -->
        <div class="rs-radio-card" id="radiostreamr-card-top-50" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/les-annees-top-50-podcast-europe1-1.webp" alt="Les années Top 50" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Musique</span>
          <h2 class="rs-radio-name">
            <span>Les années Top 50</span>
            <span>Podcasts Les années Top 50</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-top-50/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Face à Philippe de Villiers -->
        <div class="rs-radio-card" id="radiostreamr-card-philippe-villiers" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/philippe-de-villiers-podcast-europe1.webp" alt="Face à Philippe de Villiers" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-tie"></i>Politique</span>
          <h2 class="rs-radio-name">
            <span>Face à Philippe de Villiers</span>
            <span>Podcasts Face à Philippe de Villiers</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-face-a-philippe-de-villiers/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les histoires d'amour extraordinaires -->
        <div class="rs-radio-card" id="radiostreamr-card-histoires-amour" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/sophie-davant-podcast.webp" alt="Les histoires d'amour extraordinaires" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-heart"></i>Romance</span>
          <h2 class="rs-radio-name">
            <span>Les histoires d'amour extraordinaires</span>
            <span>Podcasts Les histoires d'amour extraordinaires</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-histoires-damour-extraordinaires/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Au Coeur de l'Histoire -->
        <div class="rs-radio-card" id="radiostreamr-card-coeur-histoire" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/podcast-au-coeur-de-lhistoire.webp" alt="Au Coeur de l'Histoire" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-book-open"></i>Histoire</span>
          <h2 class="rs-radio-name">
            <span>Au Coeur de l'Histoire</span>
            <span>Podcasts Au Coeur de l'Histoire</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-au-coeur-de-lhistoire/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
      </div>

      <button class="rs-carousel-button rs-next" id="radiostreamr-next-button">
        <i class="fas fa-chevron-right"></i>
      </button>
    </div>
    <a href="https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/podcast-europe1" class="rs-all-podcasts-btn">
      <i class="fas fa-podcast"></i>
      Voir tous les podcasts
    </a>
  </div>

  <script>
    (function() {
      class RadioStreamrCarousel {
        constructor(selector) {
          this.container = document.querySelector(selector);
          this.carousel = this.container.querySelector('.rs-carousel');
          this.allCards = Array.from(this.container.querySelectorAll('.rs-radio-card')); // Store all cards
          this.prevButton = this.container.querySelector('.rs-carousel-button.rs-prev');

          // Select random 9 cards
          this.selectRandomCards();
          
          // Initialize properties after cards are selected
          this.cards = Array.from(this.container.querySelectorAll('.rs-radio-card'));
          this.currentIndex = 0;
          this.cardWidth = this.cards[0].offsetWidth + 20;
          this.cardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
          this.maxIndex = this.cards.length - this.cardsPerView;
          this.nextButton = this.container.querySelector('.rs-carousel-button.rs-next');

          this.init();
        }

        selectRandomCards() {
          // Remove all cards from carousel
          this.allCards.forEach(card => card.remove());

          // Randomly select 9 cards
          const shuffled = [...this.allCards].sort(() => 0.5 - Math.random());
          const selected = shuffled.slice(0, 14);
          
          // Add selected cards back to carousel
          selected.forEach(card => {
            this.carousel.appendChild(card);
          });
        }

        init() {
          this.bindEvents();
        }

        scrollToIndex(index) {
          // Handle infinite loop
          if (index < 0) {
            this.currentIndex = this.cards.length - this.cardsPerView;
          } else if (index > this.maxIndex) {
            this.currentIndex = 0;
          } else {
            this.currentIndex = index;
          }
          
          // Add scrolling class to cards
          this.cards.forEach(card => {
            card.classList.add('rs-scrolling');
            setTimeout(() => card.classList.remove('rs-scrolling'), 500);
          });

          // Scroll with animation
          this.carousel.scrollTo({
            left: this.currentIndex * this.cardWidth,
            behavior: 'smooth'
          });

          // Create floating notes effect
          const notes = ['♪', '♫', '♬'];
          for(let i = 0; i < 3; i++) {
            const note = document.createElement('span');
            note.textContent = notes[Math.floor(Math.random() * notes.length)];
            note.style.cssText = `
              position: absolute;
              color: #00ffff;
              font-size: 24px;
              top: ${50 + Math.random() * 100}px;
              left: ${50 + Math.random() * (this.carousel.offsetWidth - 100)}px;
              animation: rs-floatingNotes 1s ease-out ${i * 0.2}s forwards;
              pointer-events: none;
            `;
            this.carousel.appendChild(note);
            setTimeout(() => note.remove(), 1000 + i * 200);
          }
        }

        bindEvents() {
          this.prevButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex - 1));
          this.nextButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex + 1));

          window.addEventListener('resize', () => {
            const newCardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
            const newMaxIndex = this.cards.length - newCardsPerView;
            this.currentIndex = Math.min(this.currentIndex, newMaxIndex);
            this.scrollToIndex(this.currentIndex);
          });
        }
      }

      document.addEventListener('DOMContentLoaded', function() {
        new RadioStreamrCarousel('.rs-carousel-section');
      });
    })();
  </script>
</body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-0d0797d e-con-full e-flex e-con e-parent" data-id="0d0797d" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
				<div class="elementor-element elementor-element-9260360 elementor-widget elementor-widget-shortcode" data-id="9260360" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"></div>
						</div>
				</div>
				</div>
				</div>
		<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-europe1-nuit/">🗣️ Podcast et Replay &#8211; Europe 1 Nuit</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://radiostreamr.com/radio-france/podcast-europe1-nuit/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🗣️ Podcast et Replay &#8211; Europe 1 Bonjour  &#8211; Europe 1</title>
		<link>https://radiostreamr.com/radio-france/podcast-europe1-bonjour/</link>
					<comments>https://radiostreamr.com/radio-france/podcast-europe1-bonjour/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 10 Nov 2024 11:45:47 +0000</pubDate>
				<category><![CDATA[Europe 1]]></category>
		<category><![CDATA[Podcast]]></category>
		<guid isPermaLink="false">https://radiostreamr.com/radio-france/?p=1050</guid>

					<description><![CDATA[<p>Europe 1 Bonjour de Alexandre Le Mer &#8211; Écoutez en rediffusion tous les podcasts Europe 1 Plus récentsPlus anciens Publicité Europe 1 Bonjour avec Alexandre Le Mer &#8211; L&#8217;émission matinale qui vous réveille avec les infos et la bonne humeur Voir leur Facebook Voir leur Instagram Voir leur site web Chaque matin, Alexandre Le Mer [&#8230;]</p>
<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-europe1-bonjour/">🗣️ Podcast et Replay &#8211; Europe 1 Bonjour  &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="1050" class="elementor elementor-1050" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-dce457e e-con-full e-flex e-con e-parent" data-id="dce457e" data-element_type="container">
				<div class="elementor-element elementor-element-9f9be1c 1995 elementor-widget elementor-widget-html" data-id="9f9be1c" data-element_type="widget" id="1995" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<!DOCTYPE html><html><head><meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&amp;display=swap" rel="stylesheet">
<style>
    .rtl-podcast-player * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Roboto', sans-serif;
    }

  .rtl-podcast-player #pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
}

@keyframes gradientBG {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.rtl-podcast-player body {
    background: linear-gradient(-45deg, #0a192f, #172a45, #1a365d, #102235);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    min-height: 100vh;
    display: flex;
    align-items: center;
    color: #fff;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

    .rtl-podcast-player .container {
        display: grid;
        grid-template-columns: 1.2fr 2.8fr;
        gap: 20px;
        margin: 0 auto;
        padding: 50px 150px !important;
        width: 100%;
        background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
        background-size: 400% 400%;
        animation: gradientBG 15s ease infinite;
        border-radius: 0;
        box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);
    }


    @media (max-width: 1024px) {
        .rtl-podcast-player .container {
            padding: 30px 45px;
            grid-template-columns: 1fr 2fr;
        }
        
        .rtl-podcast-player h1 {
            font-size: 2em;
        }
    }


    @media (max-width: 768px) {
        .rtl-podcast-player .container {
            padding: 20px !important; /* Override padding */
            margin: 0 !important; /* Reset margin */
            width: 100% !important;
            max-width: 100% !important;
            grid-template-columns: 1fr;
            overflow-x: hidden; /* Prevent horizontal scroll */
        }
        
        .rtl-podcast-player #episode-grid,
        .rtl-podcast-player .episode,
        .rtl-podcast-player #featured-episode,
        .rtl-podcast-player .host-biography,
        .rtl-podcast-player .social-share-buttons {
            width: 100% !important;
            margin-left: auto !important;
            margin-right: auto !important;
            padding: 15px !important;
        }
        
        .rtl-podcast-player h1,
        .rtl-podcast-player h2,
        .rtl-podcast-player p {
            padding-left: 10px !important;
            padding-right: 10px !important;
            text-align: center;
        }

        .rtl-podcast-player #episode-grid {
            grid-template-columns: 1fr !important; /* Force single column */
            gap: 20px;
        }
        
        .rtl-podcast-player .episode {
            width: 100% !important;
            margin: 0 auto !important;
        }
    }


@media (max-width: 480px) {
    .rtl-podcast-player .container {
        padding: 10px !important;
    }
    
    .rtl-podcast-player #featured-episode,
    .rtl-podcast-player .episode {
        padding: 15px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }
}

.rtl-podcast-player h1 {
    color: #00ffff;
    text-align: center;
    font-size: 2.3em;
    margin-bottom: 40px;
    font-weight: 700;
    width: 100%;
    grid-column: 1 / -1;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.3);
}

  #fixed-player-bar {
        display: flex;               /* Assure l'affichage en flex */
        flex-direction: column;       /* Organisation en colonne */
        align-items: center;          /* Centre les éléments */
        padding: 10px;
        gap: 10px;                    /* Espace entre chaque ligne */
        background: rgba(26, 26, 26, 0.95); /* Conserve l’arrière-plan */
        display: none;                /* Masqué par défaut */
    }

    /* Ligne 1 : Titre de l'épisode */
    #fixed-player-title {
        display: block;               /* Force l'affichage sur une ligne complète */
        text-align: center;
        font-size: 1.2em;
        color: #00ffff;
        width: 100%;                  /* Prend la largeur complète */
    }

    /* Ligne 2 : Player audio */
    #fixed-player-audio {
        display: block;               /* Force l'affichage sur une ligne complète */
        width: 100%;
    }

    /* Ligne 3 : Conteneur pour les boutons Chromecast et fermeture */
    .audio-controls-container {
        display: flex;
        justify-content: center;
        gap: 20px;
        width: 100%;                  /* Assure une disposition sur toute la largeur */
    }

    /* Styles des boutons */
    #chromecast-button, #close-fixed-player {
        width: 40px;
        height: 40px;
        border: none;
        cursor: pointer;
    }
}

  @media (max-width: 768px) {
    .rtl-podcast-player h1 {
        margin-top: 0px !important; /* Ajustez la valeur selon vos besoins */
    }
}
  
.rtl-podcast-player #featured-episode {
    /* Remplacer ces styles */
    display: flex;
    flex-direction: column;
    height: 100%; /* Ajout de cette ligne */
    padding: 30px;
    border-radius: 15px;
    background-color: transparent;
    color: #ffffff;
    transition: all 0.3s ease;
}

.rtl-podcast-player #featured-episode:hover {
    transform: translateY(-5px);
}

.rtl-podcast-player #featured-episode h3 {
    color: #00ffff;
    margin-bottom: 15px;
    font-weight: 500;
}

.rtl-podcast-player #featured-episode button, .rtl-podcast-player .episode button {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    padding: 0;
    background-image: url('https://static.vecteezy.com/system/resources/thumbnails/017/196/540/small/3d-play-button-icon-transparent-background-free-png.png');
    background-size: 35px;
    background-position: center;
    background-repeat: no-repeat;
    font-size: 0;
    position: relative;
}

    .rtl-podcast-player .date-badge {
        background: rgba(0, 255, 255, 0.1);
        border: 2px solid #00ffff;
        border-radius: 8px;
        padding: 8px 15px;
        color: #00ffff;
        font-weight: bold;
        text-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
        box-shadow: 
            0 0 5px rgba(0, 255, 255, 0.2),
            0 0 10px rgba(0, 255, 255, 0.2),
            0 0 15px rgba(0, 255, 255, 0.2),
            0 0 20px rgba(0, 255, 255, 0.2);
        animation: neonPulse 1.5s ease-in-out infinite;
        margin: 15px auto 20px auto; /* Increased bottom margin */
        display: block; /* Changed from inline-block to block */
        width: fit-content;
    }

    @keyframes neonPulse {
        0%, 100% {
            box-shadow: 
                0 0 5px rgba(0, 255, 255, 0.2),
                0 0 10px rgba(0, 255, 255, 0.2),
                0 0 15px rgba(0, 255, 255, 0.2),
                0 0 20px rgba(0, 255, 255, 0.2);
        }
        50% {
            box-shadow: 
                0 0 10px rgba(0, 255, 255, 0.4),
                0 0 20px rgba(0, 255, 255, 0.4),
                0 0 30px rgba(0, 255, 255, 0.4),
                0 0 40px rgba(0, 255, 255, 0.4);
        }
    }


.rtl-podcast-player #featured-episode img,
.rtl-podcast-player .episode img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .modal-content img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .episode button:hover::after,
.rtl-podcast-player #featured-episode button:hover::after {
    content: "Ecouter ce podcast";
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap;
    z-index: 1000;
}

.rtl-podcast-player #featured-episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #episode-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

    .rtl-podcast-player .episode {
        padding: 20px;
        border-radius: 15px;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.1);
        text-align: center;
        background-color: #1a1a1a;
        transition: all 0.3s ease;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .rtl-podcast-player .episode p {
        color: #ffffff;
    }


.rtl-podcast-player .episode:hover {
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);
    transform: translateY(-3px);
}

.rtl-podcast-player .episode h5 {
    margin-bottom: 10px;
    color: #00ffff;
}

.rtl-podcast-player .episode a {
    color: #00ffff;
    text-decoration: none;
}

    .rtl-podcast-player .episode button:hover {
        background-color: #00cccc;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }
    
    .search-filter-container {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        margin-bottom: 30px;
        width: 100%;
    }

    .search-filter-container input,
    .search-filter-container select {
        padding: 10px 15px;
        border: 2px solid #00ffff;
        border-radius: 8px;
        background: rgba(0, 0, 0, 0.3);
        color: #fff;
        font-size: 16px;
        width: 200px;
    }

    .search-filter-container input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }

    .search-filter-container input:focus,
    .search-filter-container select:focus {
        outline: none;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
    }

    .search-filter-container select {
        cursor: pointer;
    }

    .search-filter-container select option {
        background-color: #1a1a1a;
        color: #fff;
    }

    @media (max-width: 768px) {
        .search-filter-container {
            flex-direction: column;
            gap: 10px;
        }

        .search-filter-container input,
        .search-filter-container select {
            width: 100%;
            max-width: 300px;
        }
    }

    color: #000;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-top: 10px; /* Add space above button */
    display: block; /* Ensure block-level display */
    margin-left: auto;
    margin-right: auto;
}

.rtl-podcast-player .episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player .pagination {
    text-align: center !important;
    margin-top: 30px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
}

  .rtl-podcast-player #page-numbers {
    display: flex !important;
    gap: 5px !important;
    margin: 0 5px !important;
}
  
.rtl-podcast-player .pagination button,
.rtl-podcast-player .pagination #prev-btn,
.rtl-podcast-player .pagination #next-btn {
    margin: 0 !important;  /* Changé de 5px à 0 */
    padding: 8px 16px;
    font-size: 1em;
    background-color: #1a1a1a;
    color: #00ffff;
    border: 1px solid #00ffff;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rtl-podcast-player .pagination button:hover {
    background-color: #00ffff;
    color: #000;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
}

.rtl-podcast-player .modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
}

.rtl-podcast-player .modal-content {
    background-color: #1a1a1a;
    padding: 40px;
    border: 2px solid #00ffff;
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: auto;
    color: white;
}

.rtl-podcast-player .close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: #00ffff;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
}

.rtl-podcast-player .close:hover {
    color: #00cccc;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #chromecast-button {
    background-color: #00ffff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    color: #000;
    margin-top: 20px;
    font-weight: bold;
    display: inline-block;
}

.rtl-podcast-player audio::-webkit-media-controls-panel {
    background-color: #2a2a2a;
}

.rtl-podcast-player audio::-webkit-media-controls-current-time-display,
.rtl-podcast-player audio::-webkit-media-controls-time-remaining-display {
    color: #000000;
}

.rtl-podcast-player #fixed-player-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(26, 26, 26, 0.95);
    backdrop-filter: blur(10px);
    padding: 10px 20px;
    z-index: 999;
    border-top: 2px solid #00ffff;
}

.rtl-podcast-player .fixed-player-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    gap: 20px;
}


.rtl-podcast-player #fixed-player-title {
    color: #00ffff;
    font-size: 1em;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.rtl-podcast-player #fixed-player-audio {
    flex: 2;
    max-width: 500px;
}

.episode-card {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(0, 255, 255, 0.3);
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.episode-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 255, 255, 0.2);
}

.episode-card img {
    width: 100%;
    max-width: 200px;
    border-radius: 10px;
    margin: 10px 0;
}

.episode-card button {
    margin-top: 10px;
}
  
/* Conserve les styles des boutons play et mute */
audio::-webkit-media-controls-play-button,
audio::-webkit-media-controls-mute-button {
    background-color: #40E0D0 !important; /* Bleu turquoise */
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
}

audio::-webkit-media-controls-play-button:hover,
audio::-webkit-media-controls-mute-button:hover {
    background-color: #5FECEC !important; /* Bleu turquoise plus clair au survol */
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5) !important;
}

/* Tentative pour changer la couleur du trait de progression */
audio::-webkit-media-controls-timeline {
    color: #a6a6a6 !important; /* Essaye de cibler le trait turquoise */
}

/* Modifie la couleur des trois petits points */
audio::-webkit-media-controls-panel {
    background-color: transparent !important; /* Assure que le fond ne prend pas de couleur */
    color: #40E0D0 !important; /* Forcer la couleur turquoise pour les trois points */
}

/* Tentative supplémentaire pour cibler le trait du curseur de progression */
audio::-webkit-slider-runnable-track {
    background-color: #40E0D0 !important; /* Bleu turquoise pour la piste */
}

audio::-webkit-slider-thumb {
    background-color: #a6a6a6 !important; /* Plus clair pour le curseur lui-même */
}


@media (max-width: 768px) {
    .rtl-podcast-player .fixed-player-content {
        flex-direction: column;
        gap: 10px;
        padding: 15px;
    }

    .rtl-podcast-player #fixed-player-audio {
        width: 100%;
        max-width: 100%;
    }

    .rtl-podcast-player #fixed-player-title {
        width: 100%;
        text-align: center;
        font-size: 0.9em;
    }
}

.rtl-podcast-player .social-button {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease-in-out;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.rtl-podcast-player .social-button:hover {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .rtl-podcast-player .social-share-buttons {
        gap: 10px;
    }
    
    .rtl-podcast-player .social-button {
        width: 40px;
        height: 40px;
    }
    
    .rtl-podcast-player .social-button svg {
        width: 20px;
        height: 20px;
    }
}

.navigation-buttons {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    pointer-events: none;
    z-index: 1000;
}

.nav-button {
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid #00ffff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    pointer-events: auto;
}  

.nav-button:hover {
    background: rgba(0, 255, 255, 0.2);
    transform: scale(1.1);
}

.nav-button svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 768px) {
    .nav-button {
        width: 35px;
        height: 35px;
    }
    
    .nav-button svg {
        width: 20px;
        height: 20px;
    }
}
</style>
<script type="text/javascript" src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js"></script>

</head><body>
<div class="rtl-podcast-player">
    <div class="container" style="background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    border-radius: 0; /* Changed from 20px to 0 */
    box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);">
    <h1 style="color: #00ffff; text-align: center; font-size: 2.1em; margin-bottom: 40px; font-weight: 700; width: 100%; grid-column: 1 / -1; text-shadow: 0 0 10px rgba(0, 255, 255, 0.3); padding: 0 15px; display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap;">
Europe 1 Bonjour de Alexandre Le Mer - Écoutez en rediffusion tous les podcasts Europe 1
<img decoding="async" src="https://cdn-europe1.lanmedia.fr/var/europe1/storage/images/europe1/animateurs/europe-12/53472641-3-fre-FR/Europe-1.png" alt="Logo Europe 1" style="width: 60px; height: 60px; border-radius: 50%; padding: 5px; background: white; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);">
</h1>
    <div class="social-share-buttons" style="display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 30px; width: 100%; grid-column: 1 / -1;">
    <button onclick="shareOnX()" class="social-button" style="background-color: #000;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path>
        </svg>
    </button>
    <button onclick="shareOnWhatsapp()" class="social-button" style="background-color: #25D366;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"></path>
        </svg>
    </button>
    <button onclick="shareOnFacebook()" class="social-button" style="background-color: #1877F2;">  
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path>
        </svg>
    </button>
    <button onclick="shareOnLinkedIn()" class="social-button" style="background-color: #0A66C2;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path>
        </svg>
    </button>
</div>
      
    <div id="featured-episode" style="display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: space-between; gap: 20px; height: 100%; position: relative; padding-top: 20px; cursor: pointer;">
  <div class="features-episode" style="width: 100%; height: 100%;">
    <!-- Première carte (dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
            
    <!-- Deuxième carte (avant-dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
  </div>
</div>
    <div>
    <div class="search-filter-container">
        <input type="text" id="podcast-search" placeholder="Rechercher un podcast..." oninput="filterAndDisplayEpisodes()">
        <select id="podcast-filter" onchange="filterAndDisplayEpisodes()">
            <option value="newest">Plus récents</option>
            <option value="oldest">Plus anciens</option>
        </select>
    </div>
    <div id="episode-grid">
        <style>
            .episode {
                cursor: pointer;
            }
            
            .episode > * {
                pointer-events: none;
            }
            
            .episode button {
                pointer-events: auto;
            }
        </style>
    </div>
    <div class="pagination" id="pagination">
    <button id="prev-btn" onclick="changePage('prev')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M15 18l-6-6 6-6"></path>
        </svg>
    </button>
    <span id="page-numbers"></span>
    <button id="next-btn" onclick="changePage('next')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M9 18l6-6-6-6"></path>
        </svg>
    </button>
</div>

      <div class="ad-banner" style="width: 100%; max-width: 508px; margin: 20px auto; text-align: center; grid-column: 1 / -1; background: rgba(0,0,0,0.3); padding: 15px; border-radius: 10px; border: 1px solid rgba(0, 255, 255, 0.2); transition: transform 0.3s ease;">
    <p style="color: #666; font-size: 12px; margin-bottom: 10px;">Publicité</p>
    <a href="https://universal-academy.com/recruter-des-alternants-dans-le-tourisme/" target="_blank" style="display: inline-block;">
        <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/Design-sans-titre-2024-11-06T134332.299.webp" alt="Bannière publicitaire RTL" style="width: 100%; max-width: 700px; height: auto; border-radius: 8px; transition: transform 0.3s ease;" onmouseover="this.style.transform='scale(1.02)'" onmouseout="this.style.transform='scale(1)'">
    </a>
</div>

    <script>
        // Ajouter un event listener pour les cartes d'épisodes
        document.getElementById('episode-grid').addEventListener('click', (e) => {
            const episodeCard = e.target.closest('.episode');
            if (episodeCard) {
                // Trouver le bouton dans la carte et simuler un clic dessus
                const button = episodeCard.querySelector('button');
                if (button) {
                    button.click();
                }
            }
        });
    </script>
</div>
    
    <div class="host-biography" style="grid-column: 1 / -1; background: rgba(0, 0, 0, 0.3); padding: 30px; border-radius: 15px; margin-top: 30px; border: 1px solid rgba(0, 255, 255, 0.2);">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
        <!-- Media query pour passer en une colonne sur mobile -->
        <style>
            @media (max-width: 768px) {
                .host-biography > div {
                    grid-template-columns: 1fr !important;
                }
            }
        </style>

      <div class="host-biography" style="grid-column: 1 / -1; padding: 30px; border-radius: 15px; margin-top: 30px;">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
      <div style="grid-column: 1 / -1; margin-bottom: 30px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">Europe 1 Bonjour avec Alexandre Le Mer - L'émission matinale qui vous réveille avec les infos et la bonne humeur</h2>

    <!-- Nouveaux boutons de réseaux sociaux -->
    <div style="display: flex; justify-content: center; align-items: center; gap: 20px; margin: 20px 0;">
        <a href="https://www.facebook.com/Europe1/?locale=fr_FR" target="_blank" style="position: relative; width: 50px; height: 50px; background: #1877F2; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Facebook</span>
</a>

        <a href="https://www.instagram.com/europe1/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #E4405F; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Instagram</span>
</a>

        <a href="https://www.europe1.fr/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #00ffff; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#000000">
        <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur site web</span>
</a>
    </div>

    <style>
        /* Hover effects pour les boutons */
        .host-biography a:hover {
            transform: scale(1.1);
            box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
        }
        
        .host-biography a:hover span {
            opacity: 1;
        }

        /* Media queries pour le responsive */
        @media (max-width: 768px) {
            .host-biography div[style*="display: flex"] {
                flex-wrap: wrap;
                justify-content: center;
                gap: 15px;
            }
        }
    </style>

    <p style="color: #ffffff; line-height: 1.6; text-align: center; max-width: 1200px; margin: 0 auto;">
    Chaque matin, Alexandre Le Mer vous réveille en douceur avec Europe 1 Bonjour. De 5h à 6h30, il vous accompagne pour bien débuter votre journée avec les informations essentielles, la météo, les conditions de circulation et l'actualité culturelle. Son émission matinale propose un contenu riche et varié, avec des flashs d'information réguliers pour vous tenir informé des derniers événements. Alexandre Le Mer apporte également une touche de bonne humeur et de dynamisme pour vous donner l'énergie nécessaire au réveil. Grâce à son professionnalisme et sa convivialité, il crée une atmosphère chaleureuse qui permet aux auditeurs de commencer leur journée du bon pied. L'émission Europe 1 Bonjour est devenue un rendez-vous incontournable pour des milliers d'auditeurs qui apprécient ce moment privilégié d'information et de partage aux premières heures de la journée.
</p>
    
    <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 30px; padding: 20px;">
        <!-- Les 6 cartes existantes restent inchangées -->
        <!-- Carte 1 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M3 18v-6a9 9 0 0 1 18 0v6"></path>
                <path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"></path>
            </svg>
            <p style="color: #ffffff; margin: 0;">Écouter gratuitement tous les podcasts en streaming</p>
        </div>

        <!-- Carte 2 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                <polyline points="7 10 12 15 17 10"></polyline>
                <line x1="12" y1="15" x2="12" y2="3"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Télécharger les épisodes pour une écoute hors-ligne</p>
        </div>

        <!-- Carte 3 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"></path>
                <line x1="2" y1="20" x2="2" y2="20"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Diffuser sur votre Chromecast ou appareil compatible</p>
        </div>

        <!-- Carte 4 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <polygon points="10 8 16 12 10 16 10 8"></polygon>
            </svg>
            <p style="color: #ffffff; margin: 0;">Accéder à toutes les rediffusions des émissions précédentes</p>
        </div>

        <!-- Carte 5 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
        <circle cx="9" cy="7" r="4"></circle>
        <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
        <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
    </svg>
    <p style="color: #ffffff;">Découvrez l'émission "Europe 1 Bonjour" où Alexandre Le Mer vous accompagne tous les matins de 5h à 6h30 avec l'actualité, la météo et les infos trafic.</p>
</div>

        <!-- Carte 6 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px; position: relative;" onmouseover="this.style.transform='translateY(-5px)'; document.getElementById('live-tooltip').style.opacity='1'" onmouseout="this.style.transform='translateY(0)'; document.getElementById('live-tooltip').style.opacity='0'" onclick="window.location.href='https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/'">
    <div id="live-tooltip" style="position: absolute; top: -40px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); color: #fff; padding: 8px 15px; border-radius: 5px; font-size: 14px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; border: 1px solid #00ffff; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">
        Cliquez pour écouter en direct "Europe 1 13h"
    </div>
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M4 12h1"></path>
        <path d="M9 12h1"></path>
        <path d="M14 12h1"></path>
        <path d="M19 12h1"></path>
        <rect x="2" y="8" width="20" height="12" rx="2"></rect>
        <path d="M6 8V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4"></path>
        <circle cx="12" cy="14" r="4"></circle>
        <path d="M12 10v8"></path>
        <path d="M8 14h8"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Ou écouter en direct l'émission "Europe 1 Bonjour" avec Alexandre Le Mer sur Europe 1</p>
    <p style="color: #00ffff; margin-top: 10px; font-weight: bold; font-size: 0.8em;">
    Lundi, Mardi, Mercredi, Jeudi, Vendredi<br>
    De 5h00 à 7h00
</p>
</div>
    </div>
</div>
        
        <!-- Histoire de l'émission -->
        <div style="padding: 20px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">L'Histoire de "Europe 1 Bonjour" avec Alexandre Le Mer</h2>
    <p style="color: #ffffff; line-height: 1.6; text-align: center;">
        "Europe 1 Bonjour" est une émission matinale emblématique d'Europe 1, animée par Alexandre Le Mer. Ce rendez-vous quotidien accompagne les auditeurs dans leur réveil avec un cocktail d'informations essentielles, de chroniques et de bonne humeur.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        Chaque matin, de 5h à 6h30, l'émission offre un moment privilégié où se mêlent actualités, météo, infos trafic et chroniques variées. Alexandre Le Mer excelle dans l'art de créer une atmosphère dynamique et chaleureuse, permettant aux auditeurs de démarrer leur journée du bon pied.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        L'émission s'est imposée comme une référence dans le paysage radiophonique matinal français grâce à sa capacité à informer tout en divertissant. Avec une approche professionnelle et bienveillante, elle permet aux auditeurs de rester connectés aux dernières actualités tout en profitant d'un réveil en douceur. Les infos, chroniques et interventions sont autant de moments qui rythment le début de journée des auditeurs d'Europe 1.
    </p>
    <div style="margin-top: 30px;">
        <img decoding="async" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTNb8RBsluhHkdZUCOPT08MvZ4p5ri5pBVboQ&amp;s" alt="Le Studio des Légendes sur Europe 1" style="width: 96%; max-width: 360px; height: auto; border-radius: 15px; object-fit: cover;">
    </div>
</div>

        <!-- Biographie de Laurent Ruquier -->
        <div style="display: flex; flex-direction: column; align-items: center; gap: 20px;">
    <div style="width: 200px; height: 200px; border-radius: 50%; overflow: hidden; border: 3px solid #00ffff;">
        <img decoding="async" src="https://pbs.twimg.com/profile_images/1468692364034293762/rF6LheJe_400x400.jpg" alt="Portrait de l'animatrice, style professionnel" style="width: 100%; height: 100%; object-fit: cover;">
    </div>
    <div style="text-align: center;">
        <h2 style="color: #00ffff; margin-bottom: 20px;">Alexandre Le Mer - La voix matinale qui réveille la France</h2>
        <p style="color: #ffffff; line-height: 1.8;">
Alexandre Le Mer anime avec dynamisme et professionnalisme l'émission "Europe 1 Bonjour" sur Europe 1. Cette émission matinale essentielle accompagne les auditeurs dans leur réveil avec un cocktail d'informations, de chroniques et de bonne humeur.

Chaque matin, de 5h à 6h30, l'animateur excelle dans l'art de créer une atmosphère énergique et bienveillante, permettant aux auditeurs de démarrer leur journée du bon pied. Sa voix chaleureuse et son style dynamique font de lui un compagnon idéal pour ces premières heures de la journée.

Dans "Europe 1 Bonjour", Alexandre Le Mer démontre un talent particulier pour présenter l'actualité de manière claire et accessible, tout en maintenant le parfait équilibre entre information et légèreté. Son émission est devenue un rendez-vous incontournable pour les lève-tôt, offrant un panorama complet de l'actualité, de la météo et des infos trafic.

Sa capacité à maintenir un rythme soutenu tout en restant accessible et son professionnalisme font de chaque émission un moment privilégié qui permet aux auditeurs de commencer leur journée parfaitement informés et de bonne humeur. Son approche dynamique et bienveillante contribue à faire d'"Europe 1 Bonjour" une référence dans le paysage radiophonique matinal.
        </p>
    </div>
</div>

        <!-- Sources (span across both columns) -->
        <div style="grid-column: 1 / -1; margin-top: 20px; padding: 15px; background: rgba(0, 0, 0, 0.2); border-radius: 10px; text-align: center;">
    <h3 style="color: #00ffff; margin-bottom: 10px; font-size: 1.2em;">Sources :</h3>
    <ul style="list-style: none; padding: 0; text-align: center; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
        <li>
            <a href="https://fr.wikipedia.org/wiki/Alexandre_Le_Mer" target="_blank" style="color: #00ffff; text-decoration: none; transition: all 0.3s; padding: 5px 10px; border-radius: 5px; display: inline-block; &amp;:hover { background: rgba(0, 255, 255, 0.1); transform: translateY(-2px); box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); }">• Wikipédia - Biographie d'Alexandre Le Mer</a>
        </li>
    </ul>
</div>
    </div>
</div>

</div>

    <div id="player-modal" class="modal">
        <div class="modal-content">
    <span class="close" onclick="closeModal()">×</span>
    <div class="navigation-buttons">
        <button id="prev-episode" onclick="navigateEpisode('prev')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M15 18l-6-6 6-6"></path>
            </svg>
        </button>
        <button id="next-episode" onclick="navigateEpisode('next')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M9 18l6-6-6-6"></path>
            </svg>
        </button>
    </div>
    <div id="player-content">
    <style>
        /* Styles existants */
        .modal-content {
            background-color: #1a1a1a;
            padding: 40px;
            border: 2px solid #00ffff;
            width: 90%;
            max-width: 500px;
            max-height: 90vh;
            border-radius: 20px;
            text-align: center;
            box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
            position: fixed; /* Changé de absolute à fixed */
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) !important; /* Ajout de !important */
            overflow-y: auto;
            color: white;
        }

        /* Change la couleur du timing en noir */
        audio::-webkit-media-controls-time-display {
            color: #000000 !important;
        }

        /* Ajout de media queries pour le mobile */
        @media (max-width: 768px) {
            .modal-content {
                padding: 30px;
                width: 95%;
                margin: 0 auto;
                position: fixed;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%) !important;
            }
        }

        @media (max-height: 600px) {
            .modal-content {
                max-height: 85vh;
            }
        }
    </style>
</div>
    <button id="chromecast-button" onclick="startChromecast()" style="width: 60px; height: 60px; border-radius: 50%; padding: 0; background-image: url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png'); background-size: 35px; background-position: center; background-repeat: no-repeat; font-size: 0;"></button>
</div>
    </div>

    <div id="fixed-player-bar" class="rtl-podcast-player" style="display: none;">
    <div class="fixed-player-content">
        <h3 id="fixed-player-title"></h3>
        <div class="audio-controls-container" style="display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%; max-width: 800px; margin: 0 auto;">
            <audio id="fixed-player-audio" controls="">
                <source src="" type="audio/mpeg">
            </audio>
            <button onclick="startChromecast()" style="width: 40px; height: 40px; min-width: 40px; border-radius: 50%; padding: 0; background: #ffffff url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png') center/25px no-repeat; border: 2px solid #00ffff; font-size: 0; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">Cast to Chromecast</button>
            <button id="close-fixed-player" onclick="closeFixedPlayer()" style="background: none; border: none; color: #00ffff; font-size: 24px; cursor: pointer; padding: 5px; min-width: 24px; display: flex; align-items: center; justify-content: center;">×</button>
        </div>
    </div>
</div>

    <script>
    (function RTLPodcastPlayer() {
        // Initialize cast api
        window.__onGCastApiAvailable = function(isAvailable) {
            if (!isAvailable) return;

            const initializeCastApi = function() {
                const sessionRequest = new chrome.cast.SessionRequest(chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);
                const apiConfig = new chrome.cast.ApiConfig(
                    sessionRequest,
                    sessionListener,
                    receiverListener
                );
                chrome.cast.initialize(apiConfig, onInitSuccess, onError);
            };

            const sessionListener = function(session) {
                console.log('Session listener', session);
            };

            const receiverListener = function(availability) {
                console.log('Receiver listener', availability);
            };

            const onInitSuccess = function() {
                console.log('Cast initialization success');
            };

            const onError = function(error) {
                console.error('Cast initialization error', error);
            };

            if (!chrome.cast || !chrome.cast.isAvailable) {
                setTimeout(initializeCastApi, 1000);
            } else {
                initializeCastApi();
            }
        };

        const rssUrl = "https://www.europe1.fr/rss/podcasts/ma-matinale-deurope-1-le-5h-6h-julien-pearce.xml";
        const proxyUrl = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(rssUrl)}&api_key=int3lqiwwrpnsvem6yki0mtwki2f4qcvcxtrlyea&count=50`;
        const episodesPerPage = 4;
        let currentPage = 1;
        let currentAudioUrl = '';
        let totalPages = 0;

        // Ajouter ces variables au début du script
        let currentEpisodeIndex = 0;
        let allEpisodes = [];
        let filteredEpisodes = [];

        fetch(proxyUrl)
            .then(response => response.json())
            .then(data => {
                if (data.status !== "ok") {
                    throw new Error("Erreur de chargement du flux RSS.");
                }
                allEpisodes = data.items;
                filteredEpisodes = [...allEpisodes];
                displayFeaturedEpisode(allEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(allEpisodes);
            })
            .catch(error => {
                document.getElementById("featured-episode").innerHTML = "<p>Impossible de charger le flux RSS. Veuillez réessayer plus tard.</p>";
            });

        function truncateDescription(description, maxLength = 180) {
    // Crée un élément temporaire pour décoder les entités HTML
    const tempElement = document.createElement("div");
    tempElement.innerHTML = description;
    
    // Récupère le texte brut de la description
    let plainText = tempElement.innerText || tempElement.textContent || '';

    // Tronque le texte si nécessaire
    if (plainText.length <= maxLength) return plainText.trim();
    return plainText.substring(0, maxLength).trim() + '...';
}

function displayFeaturedEpisode(episode) {
    const featuredEpisode = document.getElementById("featured-episode");
    
    // Créer le HTML pour les deux premières émissions
    featuredEpisode.innerHTML = `
    <div class="features-episode" style="width: 100%; height: 100%;">
        <!-- Première carte (dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[0].enclosure.link)}', '${sanitizeString(allEpisodes[0].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[0].title)}</h3>
            ${allEpisodes[0].thumbnail ? `<img decoding="async" src="${allEpisodes[0].thumbnail}" alt="Image de la dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[0].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[0].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
        
        <!-- Deuxième carte (avant-dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[1].enclosure.link)}', '${sanitizeString(allEpisodes[1].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[1].title)}</h3>
            ${allEpisodes[1].thumbnail ? `<img decoding="async" src="${allEpisodes[1].thumbnail}" alt="Image de l'avant-dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[1].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[1].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
    </div>
    `;
}

function displayEpisodes(page, episodes) {
    const episodeGrid = document.getElementById("episode-grid");
    episodeGrid.innerHTML = "";
    const episodesWithoutFeatured = episodes.slice(2);
    const start = (page - 1) * episodesPerPage;  
    const end = start + episodesPerPage;
    
    episodesWithoutFeatured.slice(start, end).forEach(item => {
        // IMPORTANT : Encode les titres pour éviter les problèmes avec les apostrophes
        const encodedTitle = encodeURIComponent(item.title);
        const encodedUrl = encodeURIComponent(item.enclosure.link);
        
        episodeGrid.innerHTML += `
    <div class="episode">
        <h5 style="color: #00ffff;">${sanitizeString(item.title)}</h5>
        ${item.thumbnail ? `<img decoding="async" src="${item.thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 150px;">` : ""}
        <div class="description" style="color: white;">${truncateDescription(item.description)}</div>
        <div class="date-badge">
            ${new Date(item.pubDate).toLocaleDateString('fr-FR', {
                day: '2-digit',
                month: '2-digit',
                year: '2-digit'
            })}
        </div>
        <button onclick="openModal('${sanitizeString(item.enclosure.link)}', '${sanitizeString(item.title)}')"></button>
    </div>
`;
    });
    updatePaginationButtons();
}

        function setupPagination(episodes) {
    // Soustrait les 2 épisodes featured au lieu d'un seul
    totalPages = Math.ceil((episodes.length - 2) / episodesPerPage);
    const pageNumbers = document.getElementById("page-numbers");
    pageNumbers.innerHTML = "";

    // Calcule quels numéros afficher
    let start = currentPage;
    if (currentPage === totalPages) {
        start = totalPages - 2;
    } else if (currentPage === 1) {
        start = 1;
    } else {
        start = currentPage - 1;
    }

    // S'assure que start n'est jamais inférieur à 1
    start = Math.max(1, start);
    
    // Affiche 3 boutons à partir de start
    for (let i = start; i < start + 3 && i <= totalPages; i++) {
        const button = document.createElement("button");
        button.textContent = i;
        button.addEventListener("click", () => {
            currentPage = i;
            displayEpisodes(currentPage, episodes);
            setupPagination(episodes); // Important : rafraîchit la pagination
        });
        pageNumbers.appendChild(button);
    }

    // Réactive la fonctionnalité des boutons précédent/suivant
    window.changePage = function(direction) {
        if (direction === 'prev' && currentPage > 1) {
            currentPage--;
        } else if (direction === 'next' && currentPage < totalPages) {
            currentPage++;
        }
        displayEpisodes(currentPage, filteredEpisodes);
        setupPagination(episodes); // Rafraîchit la pagination
        updatePaginationButtons();
    }

    updatePaginationButtons();
}

        function updatePaginationButtons() {
            const prevBtn = document.getElementById('prev-btn');
            const nextBtn = document.getElementById('next-btn');
            
            prevBtn.disabled = currentPage === 1;
            nextBtn.disabled = currentPage === totalPages;
            
            prevBtn.style.opacity = currentPage === 1 ? '0.5' : '1';
            nextBtn.style.opacity = currentPage === totalPages ? '0.5' : '1';
            
            const pageButtons = document.querySelectorAll('#page-numbers button');
            pageButtons.forEach((button, index) => {
                if (index + 1 === currentPage) {
                    button.style.backgroundColor = '#00ffff';
                    button.style.color = '#000';
                } else {
                    button.style.backgroundColor = '#1a1a1a';
                    button.style.color = '#00ffff';
                }
            });
        }

        window.openModal = function(audioUrl, title) {
            const playerContent = document.getElementById("player-content");
            
            // Find the episode data from allEpisodes based on the audioUrl
            const currentEpisode = allEpisodes.find(ep => ep.enclosure.link === audioUrl);
            
            // Get the thumbnail from the episode data directly
            const thumbnail = currentEpisode?.thumbnail;

            // Trouve l'index de l'épisode actuel
            currentEpisodeIndex = allEpisodes.findIndex(ep => ep.enclosure.link === audioUrl);
            
            playerContent.innerHTML = `
                <h2>${title}</h2>
                ${thumbnail ? `<img decoding="async" src="${thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 300px; margin: 15px 0;">` : ''}
                <audio controls style="width: 100%; margin-top: 10px;" id="modal-audio">
                    <source src="${audioUrl}" type="audio/mpeg">
                    Votre navigateur ne supporte pas la lecture audio.
                </audio>
            `;
            
            // Mise à jour de la visibilité des boutons de navigation
            updateNavigationButtons();
            
            currentAudioUrl = audioUrl;
            document.getElementById("player-modal").style.display = "block";
            
            // Store current title for fixed player
            window.currentEpisodeTitle = title;
            
            // Setup audio element for fixed player
            const modalAudio = document.getElementById('modal-audio');
            modalAudio.addEventListener('play', () => {
                window.isPlaying = true;
            });
            modalAudio.addEventListener('pause', () => {
                window.isPlaying = false;
            });
        }

    window.navigateEpisode = function(direction) {
        let newIndex = direction === 'prev' ? currentEpisodeIndex - 1 : currentEpisodeIndex + 1;
        
        if (newIndex >= 0 && newIndex < allEpisodes.length) {
            const episode = allEpisodes[newIndex];
            openModal(episode.enclosure.link, episode.title);
        }
    }

      function sanitizeString(str) {
    return str.replace(/['"\\<>]/g, "");
}


    function updateNavigationButtons() {
        const prevButton = document.getElementById('prev-episode');
        const nextButton = document.getElementById('next-episode');
        
        prevButton.style.display = currentEpisodeIndex === 0 ? 'none' : 'flex';
        nextButton.style.display = currentEpisodeIndex === allEpisodes.length - 1 ? 'none' : 'flex';
    }

        window.closeModal = function() {
            const modalAudio = document.getElementById('modal-audio');
            const fixedPlayerBar = document.getElementById('fixed-player-bar');
            const fixedPlayerAudio = document.getElementById('fixed-player-audio');
            const fixedPlayerTitle = document.getElementById('fixed-player-title');
            
            if (window.isPlaying) {
                // Pause modal audio first
                modalAudio.pause();
                
                // Set up fixed player
                fixedPlayerBar.style.display = 'block';
                fixedPlayerTitle.textContent = window.currentEpisodeTitle;
                fixedPlayerAudio.src = currentAudioUrl;
                fixedPlayerAudio.currentTime = modalAudio.currentTime;
                fixedPlayerAudio.play();
            }
            
            document.getElementById("player-modal").style.display = "none";
        }

    // Add close fixed player function
    window.closeFixedPlayer = function() {
        const fixedPlayerBar = document.getElementById('fixed-player-bar');
        const fixedPlayerAudio = document.getElementById('fixed-player-audio');
        fixedPlayerAudio.pause();
        fixedPlayerBar.style.display = 'none';
    }

        window.startChromecast = function() {
            if (!chrome.cast || !chrome.cast.isAvailable) {
                console.log('Cast API not available');
                return;
            }

            chrome.cast.requestSession(
                function(session) {
                    if (currentAudioUrl) {
                        const mediaInfo = new chrome.cast.media.MediaInfo(currentAudioUrl, 'audio/mpeg');
                        mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();
                        mediaInfo.metadata.title = document.querySelector('#player-content h2').textContent;

                        const request = new chrome.cast.media.LoadRequest(mediaInfo);
                        session.loadMedia(request).then(
                            () => console.log('Lecture Chromecast démarrée'),
                            errorCode => console.error('Erreur Chromecast: ' + errorCode)
                        );
                    }
                },
                function(error) {
                    console.error('Erreur lors de la création de la session:', error);
                }
            );
        }

        window.shareOnX = function() {
            const text = "Écoutez les podcasts : Il n'y a pas qu'une vie dans la vie d'Isabelle Morizet d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(text)}&url=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnWhatsapp = function() {
            const text = "Écoutez les podcasts : Europe 1 Bonjour de Alexandre Le Mer avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://wa.me/?text=${encodeURIComponent(text + ' ' + url)}`, '_blank');
        };

        window.shareOnFacebook = function() {
          const text = "Écoutez les podcasts : Europe 1 Bonjour de Alexandre Le Mer avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnLinkedIn = function() {
          const text = "Écoutez les podcasts : Europe 1 Bonjour de Alexandre Le Mer avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(url)}`, '_blank');
        };

        window.filterAndDisplayEpisodes = function() {
            const searchTerm = document.getElementById('podcast-search').value.toLowerCase();
            const filterValue = document.getElementById('podcast-filter').value;
            
            // Filter episodes based on search term
            filteredEpisodes = allEpisodes.filter(episode => 
                episode.title.toLowerCase().includes(searchTerm) || 
                episode.description.toLowerCase().includes(searchTerm)
            );
            
            // Sort episodes based on filter value
            if (filterValue === 'oldest') {
                filteredEpisodes.sort((a, b) => new Date(a.pubDate) - new Date(b.pubDate));
            } else {
                filteredEpisodes.sort((a, b) => new Date(b.pubDate) - new Date(a.pubDate));
            }
            
            // Reset pagination to first page when filtering
            currentPage = 1;
            
            // Update display
            if (filteredEpisodes.length > 0) {
                displayFeaturedEpisode(filteredEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(filteredEpisodes);
            } else {
                // Handle no results
                document.getElementById('episode-grid').innerHTML = '<p style="color: #fff; text-align: center; grid-column: 1/-1;">Aucun résultat trouvé</p>';
                document.getElementById('page-numbers').innerHTML = '';
            }
        }
    })();
</script>
</div>
</div></div></body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-9e9820f e-con-full e-flex e-con e-parent" data-id="9e9820f" data-element_type="container">
				<div class="elementor-element elementor-element-d4246d5 elementor-widget elementor-widget-html" data-id="d4246d5" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<html><head><base>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  <style>
    .rs-carousel-section {
      padding: 50px 0; 
      background: linear-gradient(45deg, #1a1a1a, #2c2c2c, #0e4d4d);
      background-size: 400% 400%;
      animation: rs-gradientBG 15s ease infinite;
      color: #ffffff;
      font-family: 'Roboto', sans-serif;
      min-height: flex; 
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .rs-title {
      color: #00ffff;
      text-align: center;
      margin: 2rem 0;
      font-size: 2rem;
      text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-container {
      max-width: auto;
      width: 100%;
      position: relative;
      padding: 50px 150px; 
      box-sizing: border-box;
      overflow: hidden;
      margin: 0 auto; 
    }

    .rs-carousel {
      display: flex;
      overflow: hidden;
      scroll-behavior: smooth;
      gap: 20px;
      padding: 20px 0 0 0;
      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .rs-radio-card {
      min-width: 250px;
      flex: 0 0 250px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 15px;
      text-align: center;
      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
      border: 2px solid #00ffff;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);
      position: relative;
      overflow: hidden;
      transform-origin: center center;
      padding: 20px 15px; /* Add consistent padding */
    }

    .rs-radio-card.rs-scrolling {
      transform: scale(0.95) rotate(-2deg);
    }

    .rs-radio-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(0, 255, 255, 0.1), transparent);
      transition: 0.5s;
    }

    .rs-radio-card:hover::before {
      left: 100%;
    }

    .rs-radio-card:hover {
      transform: translateY(-5px) scale(1.02);
      box-shadow: 0 10px 30px rgba(0, 255, 255, 0.3);
      z-index: 1;
    }

    .rs-radio-logo {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      margin-bottom: 1rem;
      border: 3px solid #00ffff;
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);
      transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      cursor: pointer; /* Add cursor pointer to indicate interactivity */
    }

    .rs-radio-logo:hover {
      transform: rotateY(180deg) scale(1.15);
      border-color: #ff00ff;
      box-shadow: 
        0 0 25px rgba(0, 255, 255, 0.5),
        0 0 50px rgba(255, 0, 255, 0.3);
      animation: logoGlow 1.5s infinite alternate;
    }

    @keyframes logoGlow {
      0% {
        box-shadow: 0 0 25px rgba(0, 255, 255, 0.5),
                    0 0 50px rgba(255, 0, 255, 0.3);
      }
      100% {
        box-shadow: 0 0 35px rgba(0, 255, 255, 0.8),
                    0 0 70px rgba(255, 0, 255, 0.6);
      }
    }

    .rs-radio-name {
      font-size: 1.2rem; /* Reduced from 1.5rem */
      margin: 15px 0;
      color: #00ffff;
      transition: all 0.3s ease;
      position: relative; /* Added */
    }

    /* Add hover state for radio name span elements */
    .rs-radio-name span:first-child {
      display: inline-block;
      transition: opacity 0.3s ease;
    }

    .rs-radio-name span:last-child {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      opacity: 0;
      transition: opacity 0.3s ease;
      width: 100%;
    }

    .rs-radio-card:hover .rs-radio-name span:first-child {
      opacity: 0;
    }

    .rs-radio-card:hover .rs-radio-name span:last-child {
      opacity: 1;
    }

    .rs-listen-button {
      position: relative; /* Add this */
      background: #00ffff;
      color: #000;
      width: 60px;
      height: 60px;
      border: none;
      border-radius: 50%;
      font-size: 1.5rem;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      text-decoration: none;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 1rem auto;
      overflow: hidden;
    }

    .rs-listen-button:hover {
      background: #00cccc;
      transform: scale(1.1) rotate(360deg);
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.6);
    }

    .rs-listen-button::before {
      content: "Voir la webradio";
      position: absolute;
      bottom: -30px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(0, 255, 255, 0.9);
      color: #000;
      padding: 5px 10px;
      border-radius: 4px;
      font-size: 12px;
      white-space: nowrap;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
    }

    .rs-listen-button:hover::before {
      opacity: 1;
      visibility: visible;
      bottom: -35px;
    }

    .rs-listen-button:hover i {
      animation: rs-colorChange 2s infinite;
    }

    @keyframes rs-colorChange {
      0% { color: #ff0000; }
      20% { color: #ff7700; }
      40% { color: #ffff00; }
      60% { color: #00ff00; }
      80% { color: #0000ff; }
      100% { color: #ff0000; }
    }

    .rs-listen-button::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle, transparent 30%, rgba(255, 255, 255, 0.3) 70%);
      animation: rs-pulseGlow 2s infinite;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-listen-button:hover::after {
      opacity: 1;
    }

    @keyframes rs-pulseGlow {
      0% {
        transform: scale(0.95);
        opacity: 0.5;
      }
      50% {
        transform: scale(1.1);
        opacity: 0.2;
      }
      100% {
        transform: scale(0.95);
        opacity: 0.5;
      }
    }

    .rs-carousel-button {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0, 255, 255, 0.2);
      border: none;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #00ffff;
      font-size: 1.5rem;
      transition: all 0.3s ease;
      z-index: 2;
      overflow: hidden; /* Add this for ripple effect */
    }

    .rs-carousel-button:hover {
      background: rgba(0, 255, 255, 0.2);
      transform: translateY(-50%) scale(1.1);
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-button::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle at center, rgba(0, 255, 255, 0.8) 0%, transparent 70%);
      transform: scale(0);
      opacity: 0;
      transition: transform 0.5s ease-out, opacity 0.3s ease;
    }

    .rs-carousel-button:hover::before {
      transform: scale(2);
      opacity: 0.3;
    }

    .rs-carousel-button:hover i {
      animation: arrowBounce 0.5s ease infinite alternate;
    }

    @keyframes arrowBounce {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(3px);
      }
    }

    .rs-carousel-button.rs-prev:hover i {
      animation: arrowBounceLeft 0.5s ease infinite alternate;
    }

    @keyframes arrowBounceLeft {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(-3px);
      }
    }

    .rs-carousel-button.rs-prev {
      left: 0;
    }

    .rs-carousel-button.rs-next {
      right: 0;
    }

    @keyframes rs-floatingNotesCard {
      0% {
        opacity: 0;
        transform: translate(0, 0) rotate(0deg);
      }
      50% {
        opacity: 1;
      }
      100% {
        opacity: 0;
        transform: translate(-50px, -50px) rotate(360deg);
      }
    }

    .rs-card-notes {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-radio-card:hover .rs-card-notes {
      opacity: 1;
    }

    .rs-card-note {
      position: absolute;
      font-size: 20px;
      color: #00ffff;
      animation: rs-floatingNotesCard 2s ease-out infinite;
    }

    .rs-card-note-1 { top: 10%; left: 10%; animation-delay: 0s; }
    .rs-card-note-2 { top: 5%; left: 30%; animation-delay: 0.3s; }
    .rs-card-note-3 { top: 15%; left: 50%; animation-delay: 0.6s; }
    .rs-card-note-4 { top: 8%; left: 70%; animation-delay: 0.9s; }
    .rs-card-note-5 { top: 12%; left: 90%; animation-delay: 1.2s; }

    .rs-radio-tag {
      position: absolute;
      top: 10px;
      right: 10px;
      padding: 5px 12px;
      font-size: 0.8rem;
      border-radius: 15px;
      background: rgba(0, 0, 0, 0.7);
      color: #fff;
      border: 1px solid #00ffff;
      box-shadow: 0 0 5px #00ffff,
                  inset 0 0 5px #00ffff;
      text-transform: uppercase;
      letter-spacing: 1px;
      transition: all 0.3s ease;
      transform-style: preserve-3d;
      perspective: 1000px;
      cursor: pointer;
    }
    
    .rs-radio-tag i {
      margin-right: 5px;
      color: #00ffff;
      text-shadow: 0 0 5px #00ffff,
                   0 0 10px #00ffff,
                   0 0 15px #00ffff;
    }

    /* Add hover effects */
    .rs-radio-tag:hover {
      transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      box-shadow: 0 0 15px #00ffff,
                  inset 0 0 10px #00ffff,
                  0 10px 20px rgba(0, 255, 255, 0.4);
      background: rgba(0, 255, 255, 0.1);
      letter-spacing: 2px;
      animation: tagFloat 1s ease-in-out infinite alternate;
    }

    /* Add new keyframe animation */
    @keyframes tagFloat {
      0% {
        transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      }
      100% {
        transform: translateZ(30px) rotateX(15deg) rotateY(-15deg);
        text-shadow: 2px 2px 4px rgba(0, 255, 255, 0.6);
      }
    }

    /* Add before/after elements for 3D effect */
    .rs-radio-tag::before {
      content: '';
      position: absolute;
      inset: -2px;
      background: linear-gradient(45deg, transparent, rgba(0, 255, 255, 0.3), transparent);
      transform: translateZ(-1px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag::after {
      content: '';
      position: absolute;
      inset: -1px;
      background: linear-gradient(-45deg, transparent, rgba(0, 255, 255, 0.2), transparent);
      transform: translateZ(-2px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag:hover::before,
    .rs-radio-tag:hover::after {
      opacity: 1;
    }

    @keyframes rs-floatingNotes {
      0% {
        transform: translateY(0) rotate(0deg) scale(1);
        opacity: 0;
      }
      50% {
        transform: translateY(-20px) rotate(180deg) scale(1.2);
        opacity: 1;
      }
      100% {
        transform: translateY(-40px) rotate(360deg) scale(1);
        opacity: 0;
      }
    }

    @media (max-width: 768px) {
      .rs-carousel-section {
        padding: 30px 0;
      }
      .rs-carousel-container {
        padding: 15px 20px; 
      }
      .rs-radio-card {
        min-width: 250px !important; /* Reduced by 20% from original 312.5px */
        flex: 0 0 250px !important; /* Reduced by 20% from original 312.5px */
      }
      /* Content size reductions */
      .rs-radio-logo {
        width: 84px !important;
        height: 84px !important;
      }
      .rs-radio-name {
        font-size: 1rem !important;
      }
      .rs-listen-button {
        width: 48px;
        height: 48px;
      }
    }

    @media (max-width: 480px) {
      .rs-carousel-section {
        padding: 20px 0;
      }
      .rs-carousel-container {
        padding: 0 30px; 
      }
      .rs-radio-card {
        min-width: 200px !important; /* Further reduced by 20% from tablet size */
        flex: 0 0 200px !important; /* Further reduced by 20% from tablet size */
      }
      /* Further reduce content for smallest screens */
      .rs-radio-logo {
        width: 76px !important;
        height: 76px !important;
        margin: 8px auto 12px !important;
      }
      .rs-radio-name {
        font-size: 0.9rem !important;
      }
      .rs-listen-button {
        width: 40px;
        height: 40px;
      }
    }

    /* Add this CSS inside the existing <style> tag */
    .rs-all-podcasts-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 12px 24px;
      margin: 30px auto 20px;
      background: linear-gradient(45deg, #00ffff, #00cccc);
      border: none;
      border-radius: 25px;
      color: #000;
      font-size: 1rem;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.3s ease;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
      position: relative;
      overflow: hidden;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .rs-all-podcasts-btn:hover {
      transform: translateY(-2px) scale(1.05);
      box-shadow: 
        0 0 20px rgba(0, 255, 255, 0.5),
        0 0 40px rgba(0, 255, 255, 0.2);
    }

    .rs-all-podcasts-btn::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, transparent 65%);
      transform: scale(0);
      transition: transform 0.6s ease-out;
    }

    .rs-all-podcasts-btn:hover::before {
      transform: scale(1) rotate(45deg);
    }

    .rs-all-podcasts-btn i {
      font-size: 1.2rem;
      color: #000;
    }
  </style>
</head>
<body>
  <div class="rs-carousel-section" id="radiostreamr-carousel-section">
    <h2 class="rs-title" id="radiostreamr-title" style="font-size: 28px; animation: textGlow 2s infinite; text-shadow: 0 0 10px rgba(0, 255, 255, 0.5), 0 0 20px rgba(0, 255, 255, 0.3), 0 0 30px rgba(0, 255, 255, 0.2); position: relative; padding-left: 15px; padding-right: 15px;">
  Ecoutez les meilleurs podcasts de la chaine Europe 1 :
</h2>
    
    <div class="rs-carousel-container" id="radiostreamr-container">
      <button class="rs-carousel-button rs-prev" id="radiostreamr-prev-button">
        <i class="fas fa-chevron-left"></i>
      </button>
      
      <div class="rs-carousel" id="radiostreamr-carousel" style="gap: 25px;">

        <!-- Skyrock -->
        <div class="rs-radio-card" id="radiostreamr-card-hondelatte" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/hondelatte-raconte-podcast.webp" alt="Hondelatte raconte" class="rs-radio-logo" style="width: 105px; height: 105px; margin: 10px auto 15px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Histoire prenante</span>
          <h2 class="rs-radio-name">
            <span>Hondelatte raconte</span>
            <span>Podcasts Hondelatte raconte</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-hondelatte-raconte/" class="rs-listen-button" style="margin: 15px auto 10px;">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Oui FM -->
        <div class="rs-radio-card" id="radiostreamr-card-On-marche-sur-la-tête" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-podcast-on-marche-sur-la-tete-cyril-hanouna-radiostreamr.webp" alt="On marche sur la tête logo" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-laugh"></i>Humour</span>
          <h2 class="rs-radio-name">
            <span>On marche sur la tête</span>
            <span>Podcasts On marche sur la tête</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-on-marche-sur-la-tete/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- FIP -->
        <div class="rs-radio-card" id="radiostreamr-card-Europe-1-Matin" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-matin-podcast.webp" alt="FIP Radio" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Matin</span>
            <span>Podcasts Europe 1 Matin</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-matin/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
        
        <!-- Add after the FIP card and before RMC -->
        <div class="rs-radio-card" id="radiostreamr-card-le-grand-rendez-vous" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/0x1900-000000-80-0-0.webp" alt="Le grand rendez-vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Le Grand Rendez-vous</span>
            <span>Podcasts Le Grand Rendez-vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-le-grand-rendez-vous//" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-pascal-praud" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/pascal-praud-podcast.webp" alt="Pascal Praud et vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Pascal Praud et vous</span>
            <span>Podcasts Pascal Praud et vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-pascal-praud/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-cheriefm" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-logo-radio-en-ligne.webp" alt="Charlotte d'Ornellas - Les signatures d'Europe 1" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Chronique actualité</span>
          <h2 class="rs-radio-name">
            <span>Charlotte d'Ornellas</span>
            <span>Podcasts Charlotte d'Ornellas</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-chronique-charlotte-dornellas/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- La Libre Antenne -->
        <div class="rs-radio-card" id="radiostreamr-card-libre-antenne" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/libre-antenne.webp" alt="La Libre Antenne" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-comments"></i>Discussion</span>
          <h2 class="rs-radio-name">
            <span>La Libre Antenne</span>
            <span>Podcasts La Libre Antenne</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-olivier-delacroix/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Il n'y a qu'une vie dans la vie -->
        <div class="rs-radio-card" id="radiostreamr-card-isabelle-morizet" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/isabelle-morizet-podcast.webp" alt="Il n'y a qu'une vie dans la vie" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-friends"></i>Interview</span>
          <h2 class="rs-radio-name">
            <span>Il n'y a qu'une vie dans la vie</span>
            <span>Podcasts Isabelle Morizet</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-isabelle-morizet/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 Soir -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-soir" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-soir-podcasts.webp" alt="Europe 1 Soir" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Soir</span>
            <span>Podcasts Europe 1 Soir</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-soir/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 13h -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-13h" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-13h-podcast.webp" alt="Europe 1 13h" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 13h</span>
            <span>Podcasts Europe 1 13h</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-13h/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Le Studio des Légendes -->
        <div class="rs-radio-card" id="radiostreamr-card-studio-legendes" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/le-studio-des-legendes-podcast.webp" alt="Le Studio des Légendes" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-star"></i>Culture</span>
          <h2 class="rs-radio-name">
            <span>Le Studio des Légendes</span>
            <span>Podcasts Le Studio des Légendes</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-studio-des-legendes/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe Soir Week-end -->
        <div class="rs-radio-card" id="radiostreamr-card-europe-soir-weekend" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-soir-week-end-podcast.webp" alt="Europe Soir Week-end" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe Soir Week-end</span>
            <span>Podcasts Europe Soir Week-end</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe-soir-week-end/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- L'heure des Pros -->
        <div class="rs-radio-card" id="radiostreamr-card-heure-pros" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/lheure-des-pros-podcast.webp" alt="L'heure des Pros" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>L'heure des Pros</span>
            <span>Podcasts L'heure des Pros</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-lheure-des-pros/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les années Top 50 -->
        <div class="rs-radio-card" id="radiostreamr-card-top-50" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/les-annees-top-50-podcast-europe1-1.webp" alt="Les années Top 50" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Musique</span>
          <h2 class="rs-radio-name">
            <span>Les années Top 50</span>
            <span>Podcasts Les années Top 50</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-top-50/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Face à Philippe de Villiers -->
        <div class="rs-radio-card" id="radiostreamr-card-philippe-villiers" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/philippe-de-villiers-podcast-europe1.webp" alt="Face à Philippe de Villiers" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-tie"></i>Politique</span>
          <h2 class="rs-radio-name">
            <span>Face à Philippe de Villiers</span>
            <span>Podcasts Face à Philippe de Villiers</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-face-a-philippe-de-villiers/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les histoires d'amour extraordinaires -->
        <div class="rs-radio-card" id="radiostreamr-card-histoires-amour" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/sophie-davant-podcast.webp" alt="Les histoires d'amour extraordinaires" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-heart"></i>Romance</span>
          <h2 class="rs-radio-name">
            <span>Les histoires d'amour extraordinaires</span>
            <span>Podcasts Les histoires d'amour extraordinaires</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-histoires-damour-extraordinaires/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Au Coeur de l'Histoire -->
        <div class="rs-radio-card" id="radiostreamr-card-coeur-histoire" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/podcast-au-coeur-de-lhistoire.webp" alt="Au Coeur de l'Histoire" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-book-open"></i>Histoire</span>
          <h2 class="rs-radio-name">
            <span>Au Coeur de l'Histoire</span>
            <span>Podcasts Au Coeur de l'Histoire</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-au-coeur-de-lhistoire/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
      </div>

      <button class="rs-carousel-button rs-next" id="radiostreamr-next-button">
        <i class="fas fa-chevron-right"></i>
      </button>
    </div>
    <a href="https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/podcast-europe1" class="rs-all-podcasts-btn">
      <i class="fas fa-podcast"></i>
      Voir tous les podcasts
    </a>
  </div>

  <script>
    (function() {
      class RadioStreamrCarousel {
        constructor(selector) {
          this.container = document.querySelector(selector);
          this.carousel = this.container.querySelector('.rs-carousel');
          this.allCards = Array.from(this.container.querySelectorAll('.rs-radio-card')); // Store all cards
          this.prevButton = this.container.querySelector('.rs-carousel-button.rs-prev');

          // Select random 9 cards
          this.selectRandomCards();
          
          // Initialize properties after cards are selected
          this.cards = Array.from(this.container.querySelectorAll('.rs-radio-card'));
          this.currentIndex = 0;
          this.cardWidth = this.cards[0].offsetWidth + 20;
          this.cardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
          this.maxIndex = this.cards.length - this.cardsPerView;
          this.nextButton = this.container.querySelector('.rs-carousel-button.rs-next');

          this.init();
        }

        selectRandomCards() {
          // Remove all cards from carousel
          this.allCards.forEach(card => card.remove());

          // Randomly select 9 cards
          const shuffled = [...this.allCards].sort(() => 0.5 - Math.random());
          const selected = shuffled.slice(0, 14);
          
          // Add selected cards back to carousel
          selected.forEach(card => {
            this.carousel.appendChild(card);
          });
        }

        init() {
          this.bindEvents();
        }

        scrollToIndex(index) {
          // Handle infinite loop
          if (index < 0) {
            this.currentIndex = this.cards.length - this.cardsPerView;
          } else if (index > this.maxIndex) {
            this.currentIndex = 0;
          } else {
            this.currentIndex = index;
          }
          
          // Add scrolling class to cards
          this.cards.forEach(card => {
            card.classList.add('rs-scrolling');
            setTimeout(() => card.classList.remove('rs-scrolling'), 500);
          });

          // Scroll with animation
          this.carousel.scrollTo({
            left: this.currentIndex * this.cardWidth,
            behavior: 'smooth'
          });

          // Create floating notes effect
          const notes = ['♪', '♫', '♬'];
          for(let i = 0; i < 3; i++) {
            const note = document.createElement('span');
            note.textContent = notes[Math.floor(Math.random() * notes.length)];
            note.style.cssText = `
              position: absolute;
              color: #00ffff;
              font-size: 24px;
              top: ${50 + Math.random() * 100}px;
              left: ${50 + Math.random() * (this.carousel.offsetWidth - 100)}px;
              animation: rs-floatingNotes 1s ease-out ${i * 0.2}s forwards;
              pointer-events: none;
            `;
            this.carousel.appendChild(note);
            setTimeout(() => note.remove(), 1000 + i * 200);
          }
        }

        bindEvents() {
          this.prevButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex - 1));
          this.nextButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex + 1));

          window.addEventListener('resize', () => {
            const newCardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
            const newMaxIndex = this.cards.length - newCardsPerView;
            this.currentIndex = Math.min(this.currentIndex, newMaxIndex);
            this.scrollToIndex(this.currentIndex);
          });
        }
      }

      document.addEventListener('DOMContentLoaded', function() {
        new RadioStreamrCarousel('.rs-carousel-section');
      });
    })();
  </script>
</body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-0d0797d e-con-full e-flex e-con e-parent" data-id="0d0797d" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
				<div class="elementor-element elementor-element-9260360 elementor-widget elementor-widget-shortcode" data-id="9260360" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"></div>
						</div>
				</div>
				</div>
				</div>
		<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-europe1-bonjour/">🗣️ Podcast et Replay &#8211; Europe 1 Bonjour  &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://radiostreamr.com/radio-france/podcast-europe1-bonjour/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🗣️ Podcast et Replay &#8211; Europe 1 Matin Week-end  &#8211; Europe 1</title>
		<link>https://radiostreamr.com/radio-france/podcast-europe1-matin-week-end/</link>
					<comments>https://radiostreamr.com/radio-france/podcast-europe1-matin-week-end/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 10 Nov 2024 11:13:37 +0000</pubDate>
				<category><![CDATA[Europe 1]]></category>
		<category><![CDATA[Podcast]]></category>
		<guid isPermaLink="false">https://radiostreamr.com/radio-france/?p=1044</guid>

					<description><![CDATA[<p>Europe 1 Matin Week-end avec Lénaïg Monier &#8211; Écoutez tous les podcasts Europe 1 en rediffusion Plus récentsPlus anciens Publicité Lénaïg Monier aux commandes d&#8217;Europe 1 Matin Week-end Voir leur Facebook Voir leur Instagram Voir leur site web Chaque week-end dans Europe 1 Matin Week-end présenté par Lénaïg Monier, retrouvez la revue de presse des [&#8230;]</p>
<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-europe1-matin-week-end/">🗣️ Podcast et Replay &#8211; Europe 1 Matin Week-end  &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="1044" class="elementor elementor-1044" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-dce457e e-con-full e-flex e-con e-parent" data-id="dce457e" data-element_type="container">
				<div class="elementor-element elementor-element-9f9be1c 1995 elementor-widget elementor-widget-html" data-id="9f9be1c" data-element_type="widget" id="1995" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<!DOCTYPE html><html><head><meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&amp;display=swap" rel="stylesheet">
<style>
    .rtl-podcast-player * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Roboto', sans-serif;
    }

  .rtl-podcast-player #pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
}

@keyframes gradientBG {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.rtl-podcast-player body {
    background: linear-gradient(-45deg, #0a192f, #172a45, #1a365d, #102235);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    min-height: 100vh;
    display: flex;
    align-items: center;
    color: #fff;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

    .rtl-podcast-player .container {
        display: grid;
        grid-template-columns: 1.2fr 2.8fr;
        gap: 20px;
        margin: 0 auto;
        padding: 50px 150px !important;
        width: 100%;
        background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
        background-size: 400% 400%;
        animation: gradientBG 15s ease infinite;
        border-radius: 0;
        box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);
    }


    @media (max-width: 1024px) {
        .rtl-podcast-player .container {
            padding: 30px 45px;
            grid-template-columns: 1fr 2fr;
        }
        
        .rtl-podcast-player h1 {
            font-size: 2em;
        }
    }


    @media (max-width: 768px) {
        .rtl-podcast-player .container {
            padding: 20px !important; /* Override padding */
            margin: 0 !important; /* Reset margin */
            width: 100% !important;
            max-width: 100% !important;
            grid-template-columns: 1fr;
            overflow-x: hidden; /* Prevent horizontal scroll */
        }
        
        .rtl-podcast-player #episode-grid,
        .rtl-podcast-player .episode,
        .rtl-podcast-player #featured-episode,
        .rtl-podcast-player .host-biography,
        .rtl-podcast-player .social-share-buttons {
            width: 100% !important;
            margin-left: auto !important;
            margin-right: auto !important;
            padding: 15px !important;
        }
        
        .rtl-podcast-player h1,
        .rtl-podcast-player h2,
        .rtl-podcast-player p {
            padding-left: 10px !important;
            padding-right: 10px !important;
            text-align: center;
        }

        .rtl-podcast-player #episode-grid {
            grid-template-columns: 1fr !important; /* Force single column */
            gap: 20px;
        }
        
        .rtl-podcast-player .episode {
            width: 100% !important;
            margin: 0 auto !important;
        }
    }


@media (max-width: 480px) {
    .rtl-podcast-player .container {
        padding: 10px !important;
    }
    
    .rtl-podcast-player #featured-episode,
    .rtl-podcast-player .episode {
        padding: 15px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }
}

.rtl-podcast-player h1 {
    color: #00ffff;
    text-align: center;
    font-size: 2.3em;
    margin-bottom: 40px;
    font-weight: 700;
    width: 100%;
    grid-column: 1 / -1;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.3);
}

  #fixed-player-bar {
        display: flex;               /* Assure l'affichage en flex */
        flex-direction: column;       /* Organisation en colonne */
        align-items: center;          /* Centre les éléments */
        padding: 10px;
        gap: 10px;                    /* Espace entre chaque ligne */
        background: rgba(26, 26, 26, 0.95); /* Conserve l’arrière-plan */
        display: none;                /* Masqué par défaut */
    }

    /* Ligne 1 : Titre de l'épisode */
    #fixed-player-title {
        display: block;               /* Force l'affichage sur une ligne complète */
        text-align: center;
        font-size: 1.2em;
        color: #00ffff;
        width: 100%;                  /* Prend la largeur complète */
    }

    /* Ligne 2 : Player audio */
    #fixed-player-audio {
        display: block;               /* Force l'affichage sur une ligne complète */
        width: 100%;
    }

    /* Ligne 3 : Conteneur pour les boutons Chromecast et fermeture */
    .audio-controls-container {
        display: flex;
        justify-content: center;
        gap: 20px;
        width: 100%;                  /* Assure une disposition sur toute la largeur */
    }

    /* Styles des boutons */
    #chromecast-button, #close-fixed-player {
        width: 40px;
        height: 40px;
        border: none;
        cursor: pointer;
    }
}

  @media (max-width: 768px) {
    .rtl-podcast-player h1 {
        margin-top: 0px !important; /* Ajustez la valeur selon vos besoins */
    }
}
  
.rtl-podcast-player #featured-episode {
    /* Remplacer ces styles */
    display: flex;
    flex-direction: column;
    height: 100%; /* Ajout de cette ligne */
    padding: 30px;
    border-radius: 15px;
    background-color: transparent;
    color: #ffffff;
    transition: all 0.3s ease;
}

.rtl-podcast-player #featured-episode:hover {
    transform: translateY(-5px);
}

.rtl-podcast-player #featured-episode h3 {
    color: #00ffff;
    margin-bottom: 15px;
    font-weight: 500;
}

.rtl-podcast-player #featured-episode button, .rtl-podcast-player .episode button {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    padding: 0;
    background-image: url('https://static.vecteezy.com/system/resources/thumbnails/017/196/540/small/3d-play-button-icon-transparent-background-free-png.png');
    background-size: 35px;
    background-position: center;
    background-repeat: no-repeat;
    font-size: 0;
    position: relative;
}

    .rtl-podcast-player .date-badge {
        background: rgba(0, 255, 255, 0.1);
        border: 2px solid #00ffff;
        border-radius: 8px;
        padding: 8px 15px;
        color: #00ffff;
        font-weight: bold;
        text-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
        box-shadow: 
            0 0 5px rgba(0, 255, 255, 0.2),
            0 0 10px rgba(0, 255, 255, 0.2),
            0 0 15px rgba(0, 255, 255, 0.2),
            0 0 20px rgba(0, 255, 255, 0.2);
        animation: neonPulse 1.5s ease-in-out infinite;
        margin: 15px auto 20px auto; /* Increased bottom margin */
        display: block; /* Changed from inline-block to block */
        width: fit-content;
    }

    @keyframes neonPulse {
        0%, 100% {
            box-shadow: 
                0 0 5px rgba(0, 255, 255, 0.2),
                0 0 10px rgba(0, 255, 255, 0.2),
                0 0 15px rgba(0, 255, 255, 0.2),
                0 0 20px rgba(0, 255, 255, 0.2);
        }
        50% {
            box-shadow: 
                0 0 10px rgba(0, 255, 255, 0.4),
                0 0 20px rgba(0, 255, 255, 0.4),
                0 0 30px rgba(0, 255, 255, 0.4),
                0 0 40px rgba(0, 255, 255, 0.4);
        }
    }


.rtl-podcast-player #featured-episode img,
.rtl-podcast-player .episode img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .modal-content img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .episode button:hover::after,
.rtl-podcast-player #featured-episode button:hover::after {
    content: "Ecouter ce podcast";
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap;
    z-index: 1000;
}

.rtl-podcast-player #featured-episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #episode-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

    .rtl-podcast-player .episode {
        padding: 20px;
        border-radius: 15px;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.1);
        text-align: center;
        background-color: #1a1a1a;
        transition: all 0.3s ease;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .rtl-podcast-player .episode p {
        color: #ffffff;
    }


.rtl-podcast-player .episode:hover {
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);
    transform: translateY(-3px);
}

.rtl-podcast-player .episode h5 {
    margin-bottom: 10px;
    color: #00ffff;
}

.rtl-podcast-player .episode a {
    color: #00ffff;
    text-decoration: none;
}

    .rtl-podcast-player .episode button:hover {
        background-color: #00cccc;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }
    
    .search-filter-container {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        margin-bottom: 30px;
        width: 100%;
    }

    .search-filter-container input,
    .search-filter-container select {
        padding: 10px 15px;
        border: 2px solid #00ffff;
        border-radius: 8px;
        background: rgba(0, 0, 0, 0.3);
        color: #fff;
        font-size: 16px;
        width: 200px;
    }

    .search-filter-container input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }

    .search-filter-container input:focus,
    .search-filter-container select:focus {
        outline: none;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
    }

    .search-filter-container select {
        cursor: pointer;
    }

    .search-filter-container select option {
        background-color: #1a1a1a;
        color: #fff;
    }

    @media (max-width: 768px) {
        .search-filter-container {
            flex-direction: column;
            gap: 10px;
        }

        .search-filter-container input,
        .search-filter-container select {
            width: 100%;
            max-width: 300px;
        }
    }

    color: #000;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-top: 10px; /* Add space above button */
    display: block; /* Ensure block-level display */
    margin-left: auto;
    margin-right: auto;
}

.rtl-podcast-player .episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player .pagination {
    text-align: center !important;
    margin-top: 30px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
}

  .rtl-podcast-player #page-numbers {
    display: flex !important;
    gap: 5px !important;
    margin: 0 5px !important;
}
  
.rtl-podcast-player .pagination button,
.rtl-podcast-player .pagination #prev-btn,
.rtl-podcast-player .pagination #next-btn {
    margin: 0 !important;  /* Changé de 5px à 0 */
    padding: 8px 16px;
    font-size: 1em;
    background-color: #1a1a1a;
    color: #00ffff;
    border: 1px solid #00ffff;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rtl-podcast-player .pagination button:hover {
    background-color: #00ffff;
    color: #000;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
}

.rtl-podcast-player .modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
}

.rtl-podcast-player .modal-content {
    background-color: #1a1a1a;
    padding: 40px;
    border: 2px solid #00ffff;
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: auto;
    color: white;
}

.rtl-podcast-player .close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: #00ffff;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
}

.rtl-podcast-player .close:hover {
    color: #00cccc;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #chromecast-button {
    background-color: #00ffff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    color: #000;
    margin-top: 20px;
    font-weight: bold;
    display: inline-block;
}

.rtl-podcast-player audio::-webkit-media-controls-panel {
    background-color: #2a2a2a;
}

.rtl-podcast-player audio::-webkit-media-controls-current-time-display,
.rtl-podcast-player audio::-webkit-media-controls-time-remaining-display {
    color: #000000;
}

.rtl-podcast-player #fixed-player-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(26, 26, 26, 0.95);
    backdrop-filter: blur(10px);
    padding: 10px 20px;
    z-index: 999;
    border-top: 2px solid #00ffff;
}

.rtl-podcast-player .fixed-player-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    gap: 20px;
}


.rtl-podcast-player #fixed-player-title {
    color: #00ffff;
    font-size: 1em;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.rtl-podcast-player #fixed-player-audio {
    flex: 2;
    max-width: 500px;
}

.episode-card {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(0, 255, 255, 0.3);
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.episode-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 255, 255, 0.2);
}

.episode-card img {
    width: 100%;
    max-width: 200px;
    border-radius: 10px;
    margin: 10px 0;
}

.episode-card button {
    margin-top: 10px;
}
  
/* Conserve les styles des boutons play et mute */
audio::-webkit-media-controls-play-button,
audio::-webkit-media-controls-mute-button {
    background-color: #40E0D0 !important; /* Bleu turquoise */
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
}

audio::-webkit-media-controls-play-button:hover,
audio::-webkit-media-controls-mute-button:hover {
    background-color: #5FECEC !important; /* Bleu turquoise plus clair au survol */
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5) !important;
}

/* Tentative pour changer la couleur du trait de progression */
audio::-webkit-media-controls-timeline {
    color: #a6a6a6 !important; /* Essaye de cibler le trait turquoise */
}

/* Modifie la couleur des trois petits points */
audio::-webkit-media-controls-panel {
    background-color: transparent !important; /* Assure que le fond ne prend pas de couleur */
    color: #40E0D0 !important; /* Forcer la couleur turquoise pour les trois points */
}

/* Tentative supplémentaire pour cibler le trait du curseur de progression */
audio::-webkit-slider-runnable-track {
    background-color: #40E0D0 !important; /* Bleu turquoise pour la piste */
}

audio::-webkit-slider-thumb {
    background-color: #a6a6a6 !important; /* Plus clair pour le curseur lui-même */
}


@media (max-width: 768px) {
    .rtl-podcast-player .fixed-player-content {
        flex-direction: column;
        gap: 10px;
        padding: 15px;
    }

    .rtl-podcast-player #fixed-player-audio {
        width: 100%;
        max-width: 100%;
    }

    .rtl-podcast-player #fixed-player-title {
        width: 100%;
        text-align: center;
        font-size: 0.9em;
    }
}

.rtl-podcast-player .social-button {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease-in-out;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.rtl-podcast-player .social-button:hover {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .rtl-podcast-player .social-share-buttons {
        gap: 10px;
    }
    
    .rtl-podcast-player .social-button {
        width: 40px;
        height: 40px;
    }
    
    .rtl-podcast-player .social-button svg {
        width: 20px;
        height: 20px;
    }
}

.navigation-buttons {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    pointer-events: none;
    z-index: 1000;
}

.nav-button {
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid #00ffff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    pointer-events: auto;
}  

.nav-button:hover {
    background: rgba(0, 255, 255, 0.2);
    transform: scale(1.1);
}

.nav-button svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 768px) {
    .nav-button {
        width: 35px;
        height: 35px;
    }
    
    .nav-button svg {
        width: 20px;
        height: 20px;
    }
}
</style>
<script type="text/javascript" src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js"></script>

</head><body>
<div class="rtl-podcast-player">
    <div class="container" style="background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    border-radius: 0; /* Changed from 20px to 0 */
    box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);">
    <h1 style="color: #00ffff; text-align: center; font-size: 2.1em; margin-bottom: 40px; font-weight: 700; width: 100%; grid-column: 1 / -1; text-shadow: 0 0 10px rgba(0, 255, 255, 0.3); padding: 0 15px; display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap;">
Europe 1 Matin Week-end avec Lénaïg Monier - Écoutez tous les podcasts Europe 1 en rediffusion
<img decoding="async" src="https://cdn-europe1.lanmedia.fr/var/europe1/storage/images/europe1/animateurs/europe-12/53472641-3-fre-FR/Europe-1.png" alt="Logo Europe 1" style="width: 60px; height: 60px; border-radius: 50%; padding: 5px; background: white; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);">
</h1>
    <div class="social-share-buttons" style="display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 30px; width: 100%; grid-column: 1 / -1;">
    <button onclick="shareOnX()" class="social-button" style="background-color: #000;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path>
        </svg>
    </button>
    <button onclick="shareOnWhatsapp()" class="social-button" style="background-color: #25D366;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"></path>
        </svg>
    </button>
    <button onclick="shareOnFacebook()" class="social-button" style="background-color: #1877F2;">  
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path>
        </svg>
    </button>
    <button onclick="shareOnLinkedIn()" class="social-button" style="background-color: #0A66C2;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path>
        </svg>
    </button>
</div>
      
    <div id="featured-episode" style="display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: space-between; gap: 20px; height: 100%; position: relative; padding-top: 20px; cursor: pointer;">
  <div class="features-episode" style="width: 100%; height: 100%;">
    <!-- Première carte (dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
            
    <!-- Deuxième carte (avant-dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
  </div>
</div>
    <div>
    <div class="search-filter-container">
        <input type="text" id="podcast-search" placeholder="Rechercher un podcast..." oninput="filterAndDisplayEpisodes()">
        <select id="podcast-filter" onchange="filterAndDisplayEpisodes()">
            <option value="newest">Plus récents</option>
            <option value="oldest">Plus anciens</option>
        </select>
    </div>
    <div id="episode-grid">
        <style>
            .episode {
                cursor: pointer;
            }
            
            .episode > * {
                pointer-events: none;
            }
            
            .episode button {
                pointer-events: auto;
            }
        </style>
    </div>
    <div class="pagination" id="pagination">
    <button id="prev-btn" onclick="changePage('prev')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M15 18l-6-6 6-6"></path>
        </svg>
    </button>
    <span id="page-numbers"></span>
    <button id="next-btn" onclick="changePage('next')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M9 18l6-6-6-6"></path>
        </svg>
    </button>
</div>

      <div class="ad-banner" style="width: 100%; max-width: 508px; margin: 20px auto; text-align: center; grid-column: 1 / -1; background: rgba(0,0,0,0.3); padding: 15px; border-radius: 10px; border: 1px solid rgba(0, 255, 255, 0.2); transition: transform 0.3s ease;">
    <p style="color: #666; font-size: 12px; margin-bottom: 10px;">Publicité</p>
    <a href="https://universal-academy.com/recruter-des-alternants-dans-le-tourisme/" target="_blank" style="display: inline-block;">
        <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/Design-sans-titre-2024-11-06T134332.299.webp" alt="Bannière publicitaire RTL" style="width: 100%; max-width: 700px; height: auto; border-radius: 8px; transition: transform 0.3s ease;" onmouseover="this.style.transform='scale(1.02)'" onmouseout="this.style.transform='scale(1)'">
    </a>
</div>

    <script>
        // Ajouter un event listener pour les cartes d'épisodes
        document.getElementById('episode-grid').addEventListener('click', (e) => {
            const episodeCard = e.target.closest('.episode');
            if (episodeCard) {
                // Trouver le bouton dans la carte et simuler un clic dessus
                const button = episodeCard.querySelector('button');
                if (button) {
                    button.click();
                }
            }
        });
    </script>
</div>
    
    <div class="host-biography" style="grid-column: 1 / -1; background: rgba(0, 0, 0, 0.3); padding: 30px; border-radius: 15px; margin-top: 30px; border: 1px solid rgba(0, 255, 255, 0.2);">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
        <!-- Media query pour passer en une colonne sur mobile -->
        <style>
            @media (max-width: 768px) {
                .host-biography > div {
                    grid-template-columns: 1fr !important;
                }
            }
        </style>

      <div class="host-biography" style="grid-column: 1 / -1; padding: 30px; border-radius: 15px; margin-top: 30px;">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
      <div style="grid-column: 1 / -1; margin-bottom: 30px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">Lénaïg Monier aux commandes d'Europe 1 Matin Week-end</h2>

    <!-- Nouveaux boutons de réseaux sociaux -->
    <div style="display: flex; justify-content: center; align-items: center; gap: 20px; margin: 20px 0;">
        <a href="https://www.facebook.com/Europe1/?locale=fr_FR" target="_blank" style="position: relative; width: 50px; height: 50px; background: #1877F2; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Facebook</span>
</a>

        <a href="https://www.instagram.com/europe1/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #E4405F; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Instagram</span>
</a>

        <a href="https://www.europe1.fr/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #00ffff; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#000000">
        <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur site web</span>
</a>
    </div>

    <style>
        /* Hover effects pour les boutons */
        .host-biography a:hover {
            transform: scale(1.1);
            box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
        }
        
        .host-biography a:hover span {
            opacity: 1;
        }

        /* Media queries pour le responsive */
        @media (max-width: 768px) {
            .host-biography div[style*="display: flex"] {
                flex-wrap: wrap;
                justify-content: center;
                gap: 15px;
            }
        }
    </style>

    <p style="color: #ffffff; line-height: 1.6; text-align: center; max-width: 1200px; margin: 0 auto;">
    Chaque week-end dans Europe 1 Matin Week-end présenté par Lénaïg Monier, retrouvez la revue de presse des hebdos qui décrypte l'actualité à travers la presse hebdomadaire française. En analysant les unes et articles des grands magazines d'actualité, cette chronique apporte un éclairage approfondi sur les sujets qui font débat. Avec son regard acéré et son analyse fine des différentes lignes éditoriales, Lénaïg Monier vous permet de comprendre les positions et arguments développés par chaque titre de presse. Un rendez-vous incontournable du week-end qui offre une synthèse claire et pertinente des grands thèmes traités par les hebdomadaires nationaux, enrichissant ainsi votre compréhension des enjeux contemporains qui animent notre société.
</p>
    
    <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 30px; padding: 20px;">
        <!-- Les 6 cartes existantes restent inchangées -->
        <!-- Carte 1 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M3 18v-6a9 9 0 0 1 18 0v6"></path>
                <path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"></path>
            </svg>
            <p style="color: #ffffff; margin: 0;">Écouter gratuitement tous les podcasts en streaming</p>
        </div>

        <!-- Carte 2 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                <polyline points="7 10 12 15 17 10"></polyline>
                <line x1="12" y1="15" x2="12" y2="3"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Télécharger les épisodes pour une écoute hors-ligne</p>
        </div>

        <!-- Carte 3 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"></path>
                <line x1="2" y1="20" x2="2" y2="20"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Diffuser sur votre Chromecast ou appareil compatible</p>
        </div>

        <!-- Carte 4 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <polygon points="10 8 16 12 10 16 10 8"></polygon>
            </svg>
            <p style="color: #ffffff; margin: 0;">Accéder à toutes les rediffusions des émissions précédentes</p>
        </div>

        <!-- Carte 5 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
        <circle cx="9" cy="7" r="4"></circle>
        <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
        <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Découvrez "La revue de presse des hebdos" dans Europe 1 Matin Week-end où Lénaïg Monier vous fait découvrir et analyse les grands titres de la presse hebdomadaire française.</p>
</div>

        <!-- Carte 6 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px; position: relative;" onmouseover="this.style.transform='translateY(-5px)'; document.getElementById('live-tooltip').style.opacity='1'" onmouseout="this.style.transform='translateY(0)'; document.getElementById('live-tooltip').style.opacity='0'" onclick="window.location.href='https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/'">
    <div id="live-tooltip" style="position: absolute; top: -40px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); color: #fff; padding: 8px 15px; border-radius: 5px; font-size: 14px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; border: 1px solid #00ffff; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">
        Cliquez pour écouter en direct "Europe 1 13h"
    </div>
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M4 12h1"></path>
        <path d="M9 12h1"></path>
        <path d="M14 12h1"></path>
        <path d="M19 12h1"></path>
        <rect x="2" y="8" width="20" height="12" rx="2"></rect>
        <path d="M6 8V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4"></path>
        <circle cx="12" cy="14" r="4"></circle>
        <path d="M12 10v8"></path>
        <path d="M8 14h8"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Ou écouter en direct la "Revue de presse des hebdos" dans Europe 1 Matin Week-end présenté par Lénaïg Monier</p>
    <p style="color: #00ffff; margin-top: 10px; font-weight: bold; font-size: 0.8em;">
    6H00 - 9H00 : Samedi, Dimanche
</p>
</div>
    </div>
</div>
        
        <!-- Histoire de l'émission -->
        <div style="padding: 20px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">L'Histoire d'Europe 1 Matin Week-end</h2>
    <p style="color: #ffffff; line-height: 1.6; text-align: center;">
        Europe 1 Matin Week-end est l'émission matinale phare d'Europe 1 diffusée les samedis et dimanches. Cette émission dynamique et informative, présentée par Lénaïg Monier, accompagne les auditeurs dès le début de leur week-end avec un mélange parfait d'actualités, de chroniques et de bonne humeur.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        Chaque samedi et dimanche, de 6h à 9h, l'émission propose une programmation riche et variée qui permet aux auditeurs de rester informés tout en démarrant leur week-end de manière agréable. Lénaïg Monier apporte son style unique et son professionnalisme pour animer cette tranche horaire stratégique.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        L'émission s'est imposée comme un rendez-vous incontournable du week-end grâce à son format dynamique et sa capacité à traiter l'actualité de manière approfondie tout en restant accessible. Avec des chroniques variées, dont la célèbre "revue de presse des hebdos", des interviews exclusives et des moments de partage avec les auditeurs, Europe 1 Matin Week-end offre une expérience radiophonique complète et enrichissante.
    </p>
    <div style="margin-top: 30px;">
        <img decoding="async" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRy6GsGco4zMgYRUzWQ13d6C5kmXZ-yaoSWyQ&amp;s" alt="Le Studio des Légendes sur Europe 1" style="width: 96%; max-width: 360px; height: auto; border-radius: 15px; object-fit: cover;">
    </div>
</div>

        <!-- Biographie de Laurent Ruquier -->
        <div style="display: flex; flex-direction: column; align-items: center; gap: 20px;">
    <div style="width: 200px; height: 200px; border-radius: 50%; overflow: hidden; border: 3px solid #00ffff;">
        <img decoding="async" src="https://pbs.twimg.com/profile_images/1573031027018272774/BYPELXnF_400x400.jpg" alt="Portrait de l'animatrice, style professionnel" style="width: 100%; height: 100%; object-fit: cover;">
    </div>
    <div style="text-align: center;">
        <h2 style="color: #00ffff; margin-bottom: 20px;">Lenaïg Monier - Une voix matinale dynamique sur Europe 1</h2>
        <p style="color: #ffffff; line-height: 1.8;">
Lenaïg Monier anime avec enthousiasme et professionnalisme l'émission Europe 1 Matin Week-end. Cette journaliste talentueuse apporte chaque samedi et dimanche une énergie contagieuse aux auditeurs qui démarrent leur week-end.

Au micro d'Europe 1, Lenaïg Monier excelle dans l'art de rendre l'information accessible et dynamique. Sa capacité à alterner entre sujets sérieux et moments plus légers fait d'elle une animatrice particulièrement appréciée des auditeurs matinaux du week-end.

Dans sa revue de presse des hebdos, elle démontre une expertise précieuse dans l'analyse et la synthèse de l'actualité. Avec clarté et pertinence, elle guide les auditeurs à travers les grands sujets traités par la presse hebdomadaire, offrant un décryptage intelligent et nuancé de l'information.

Son style direct et sa bonne humeur communicative ont contribué à faire d'Europe 1 Matin Week-end un rendez-vous incontournable pour tous ceux qui souhaitent rester informés tout en démarrant leur week-end sur une note positive. Sa présentation dynamique et son professionnalisme en font une voix essentielle de la matinale d'Europe 1.
        </p>
    </div>
</div>

        <!-- Sources (span across both columns) -->
        <div style="grid-column: 1 / -1; margin-top: 20px; padding: 15px; background: rgba(0, 0, 0, 0.2); border-radius: 10px; text-align: center;">
    <h3 style="color: #00ffff; margin-bottom: 10px; font-size: 1.2em;">Sources :</h3>
    <ul style="list-style: none; padding: 0; text-align: center; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
        <li>
            <a href="https://www.europe1.fr/animateurs/lenaig-monier" target="_blank" style="color: #00ffff; text-decoration: none; transition: all 0.3s; padding: 5px 10px; border-radius: 5px; display: inline-block; &amp;:hover { background: rgba(0, 255, 255, 0.1); transform: translateY(-2px); box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); }">• Europe 1 - Page officielle de Lénaïg Monier</a>
        </li>
    </ul>
</div>
    </div>
</div>

</div>

    <div id="player-modal" class="modal">
        <div class="modal-content">
    <span class="close" onclick="closeModal()">×</span>
    <div class="navigation-buttons">
        <button id="prev-episode" onclick="navigateEpisode('prev')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M15 18l-6-6 6-6"></path>
            </svg>
        </button>
        <button id="next-episode" onclick="navigateEpisode('next')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M9 18l6-6-6-6"></path>
            </svg>
        </button>
    </div>
    <div id="player-content">
    <style>
        /* Styles existants */
        .modal-content {
            background-color: #1a1a1a;
            padding: 40px;
            border: 2px solid #00ffff;
            width: 90%;
            max-width: 500px;
            max-height: 90vh;
            border-radius: 20px;
            text-align: center;
            box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
            position: fixed; /* Changé de absolute à fixed */
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) !important; /* Ajout de !important */
            overflow-y: auto;
            color: white;
        }

        /* Change la couleur du timing en noir */
        audio::-webkit-media-controls-time-display {
            color: #000000 !important;
        }

        /* Ajout de media queries pour le mobile */
        @media (max-width: 768px) {
            .modal-content {
                padding: 30px;
                width: 95%;
                margin: 0 auto;
                position: fixed;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%) !important;
            }
        }

        @media (max-height: 600px) {
            .modal-content {
                max-height: 85vh;
            }
        }
    </style>
</div>
    <button id="chromecast-button" onclick="startChromecast()" style="width: 60px; height: 60px; border-radius: 50%; padding: 0; background-image: url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png'); background-size: 35px; background-position: center; background-repeat: no-repeat; font-size: 0;"></button>
</div>
    </div>

    <div id="fixed-player-bar" class="rtl-podcast-player" style="display: none;">
    <div class="fixed-player-content">
        <h3 id="fixed-player-title"></h3>
        <div class="audio-controls-container" style="display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%; max-width: 800px; margin: 0 auto;">
            <audio id="fixed-player-audio" controls="">
                <source src="" type="audio/mpeg">
            </audio>
            <button onclick="startChromecast()" style="width: 40px; height: 40px; min-width: 40px; border-radius: 50%; padding: 0; background: #ffffff url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png') center/25px no-repeat; border: 2px solid #00ffff; font-size: 0; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">Cast to Chromecast</button>
            <button id="close-fixed-player" onclick="closeFixedPlayer()" style="background: none; border: none; color: #00ffff; font-size: 24px; cursor: pointer; padding: 5px; min-width: 24px; display: flex; align-items: center; justify-content: center;">×</button>
        </div>
    </div>
</div>

    <script>
    (function RTLPodcastPlayer() {
        // Initialize cast api
        window.__onGCastApiAvailable = function(isAvailable) {
            if (!isAvailable) return;

            const initializeCastApi = function() {
                const sessionRequest = new chrome.cast.SessionRequest(chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);
                const apiConfig = new chrome.cast.ApiConfig(
                    sessionRequest,
                    sessionListener,
                    receiverListener
                );
                chrome.cast.initialize(apiConfig, onInitSuccess, onError);
            };

            const sessionListener = function(session) {
                console.log('Session listener', session);
            };

            const receiverListener = function(availability) {
                console.log('Receiver listener', availability);
            };

            const onInitSuccess = function() {
                console.log('Cast initialization success');
            };

            const onError = function(error) {
                console.error('Cast initialization error', error);
            };

            if (!chrome.cast || !chrome.cast.isAvailable) {
                setTimeout(initializeCastApi, 1000);
            } else {
                initializeCastApi();
            }
        };

        const rssUrl = "https://www.europe1.fr/rss/podcasts/europe-1-week-end.xml";
        const proxyUrl = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(rssUrl)}&api_key=int3lqiwwrpnsvem6yki0mtwki2f4qcvcxtrlyea&count=50`;
        const episodesPerPage = 4;
        let currentPage = 1;
        let currentAudioUrl = '';
        let totalPages = 0;

        // Ajouter ces variables au début du script
        let currentEpisodeIndex = 0;
        let allEpisodes = [];
        let filteredEpisodes = [];

        fetch(proxyUrl)
            .then(response => response.json())
            .then(data => {
                if (data.status !== "ok") {
                    throw new Error("Erreur de chargement du flux RSS.");
                }
                allEpisodes = data.items;
                filteredEpisodes = [...allEpisodes];
                displayFeaturedEpisode(allEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(allEpisodes);
            })
            .catch(error => {
                document.getElementById("featured-episode").innerHTML = "<p>Impossible de charger le flux RSS. Veuillez réessayer plus tard.</p>";
            });

        function truncateDescription(description, maxLength = 180) {
    // Crée un élément temporaire pour décoder les entités HTML
    const tempElement = document.createElement("div");
    tempElement.innerHTML = description;
    
    // Récupère le texte brut de la description
    let plainText = tempElement.innerText || tempElement.textContent || '';

    // Tronque le texte si nécessaire
    if (plainText.length <= maxLength) return plainText.trim();
    return plainText.substring(0, maxLength).trim() + '...';
}

function displayFeaturedEpisode(episode) {
    const featuredEpisode = document.getElementById("featured-episode");
    
    // Créer le HTML pour les deux premières émissions
    featuredEpisode.innerHTML = `
    <div class="features-episode" style="width: 100%; height: 100%;">
        <!-- Première carte (dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[0].enclosure.link)}', '${sanitizeString(allEpisodes[0].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[0].title)}</h3>
            ${allEpisodes[0].thumbnail ? `<img decoding="async" src="${allEpisodes[0].thumbnail}" alt="Image de la dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[0].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[0].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
        
        <!-- Deuxième carte (avant-dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[1].enclosure.link)}', '${sanitizeString(allEpisodes[1].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[1].title)}</h3>
            ${allEpisodes[1].thumbnail ? `<img decoding="async" src="${allEpisodes[1].thumbnail}" alt="Image de l'avant-dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[1].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[1].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
    </div>
    `;
}

function displayEpisodes(page, episodes) {
    const episodeGrid = document.getElementById("episode-grid");
    episodeGrid.innerHTML = "";
    const episodesWithoutFeatured = episodes.slice(2);
    const start = (page - 1) * episodesPerPage;  
    const end = start + episodesPerPage;
    
    episodesWithoutFeatured.slice(start, end).forEach(item => {
        // IMPORTANT : Encode les titres pour éviter les problèmes avec les apostrophes
        const encodedTitle = encodeURIComponent(item.title);
        const encodedUrl = encodeURIComponent(item.enclosure.link);
        
        episodeGrid.innerHTML += `
    <div class="episode">
        <h5 style="color: #00ffff;">${sanitizeString(item.title)}</h5>
        ${item.thumbnail ? `<img decoding="async" src="${item.thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 150px;">` : ""}
        <div class="description" style="color: white;">${truncateDescription(item.description)}</div>
        <div class="date-badge">
            ${new Date(item.pubDate).toLocaleDateString('fr-FR', {
                day: '2-digit',
                month: '2-digit',
                year: '2-digit'
            })}
        </div>
        <button onclick="openModal('${sanitizeString(item.enclosure.link)}', '${sanitizeString(item.title)}')"></button>
    </div>
`;
    });
    updatePaginationButtons();
}

        function setupPagination(episodes) {
    // Soustrait les 2 épisodes featured au lieu d'un seul
    totalPages = Math.ceil((episodes.length - 2) / episodesPerPage);
    const pageNumbers = document.getElementById("page-numbers");
    pageNumbers.innerHTML = "";

    // Calcule quels numéros afficher
    let start = currentPage;
    if (currentPage === totalPages) {
        start = totalPages - 2;
    } else if (currentPage === 1) {
        start = 1;
    } else {
        start = currentPage - 1;
    }

    // S'assure que start n'est jamais inférieur à 1
    start = Math.max(1, start);
    
    // Affiche 3 boutons à partir de start
    for (let i = start; i < start + 3 && i <= totalPages; i++) {
        const button = document.createElement("button");
        button.textContent = i;
        button.addEventListener("click", () => {
            currentPage = i;
            displayEpisodes(currentPage, episodes);
            setupPagination(episodes); // Important : rafraîchit la pagination
        });
        pageNumbers.appendChild(button);
    }

    // Réactive la fonctionnalité des boutons précédent/suivant
    window.changePage = function(direction) {
        if (direction === 'prev' && currentPage > 1) {
            currentPage--;
        } else if (direction === 'next' && currentPage < totalPages) {
            currentPage++;
        }
        displayEpisodes(currentPage, filteredEpisodes);
        setupPagination(episodes); // Rafraîchit la pagination
        updatePaginationButtons();
    }

    updatePaginationButtons();
}

        function updatePaginationButtons() {
            const prevBtn = document.getElementById('prev-btn');
            const nextBtn = document.getElementById('next-btn');
            
            prevBtn.disabled = currentPage === 1;
            nextBtn.disabled = currentPage === totalPages;
            
            prevBtn.style.opacity = currentPage === 1 ? '0.5' : '1';
            nextBtn.style.opacity = currentPage === totalPages ? '0.5' : '1';
            
            const pageButtons = document.querySelectorAll('#page-numbers button');
            pageButtons.forEach((button, index) => {
                if (index + 1 === currentPage) {
                    button.style.backgroundColor = '#00ffff';
                    button.style.color = '#000';
                } else {
                    button.style.backgroundColor = '#1a1a1a';
                    button.style.color = '#00ffff';
                }
            });
        }

        window.openModal = function(audioUrl, title) {
            const playerContent = document.getElementById("player-content");
            
            // Find the episode data from allEpisodes based on the audioUrl
            const currentEpisode = allEpisodes.find(ep => ep.enclosure.link === audioUrl);
            
            // Get the thumbnail from the episode data directly
            const thumbnail = currentEpisode?.thumbnail;

            // Trouve l'index de l'épisode actuel
            currentEpisodeIndex = allEpisodes.findIndex(ep => ep.enclosure.link === audioUrl);
            
            playerContent.innerHTML = `
                <h2>${title}</h2>
                ${thumbnail ? `<img decoding="async" src="${thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 300px; margin: 15px 0;">` : ''}
                <audio controls style="width: 100%; margin-top: 10px;" id="modal-audio">
                    <source src="${audioUrl}" type="audio/mpeg">
                    Votre navigateur ne supporte pas la lecture audio.
                </audio>
            `;
            
            // Mise à jour de la visibilité des boutons de navigation
            updateNavigationButtons();
            
            currentAudioUrl = audioUrl;
            document.getElementById("player-modal").style.display = "block";
            
            // Store current title for fixed player
            window.currentEpisodeTitle = title;
            
            // Setup audio element for fixed player
            const modalAudio = document.getElementById('modal-audio');
            modalAudio.addEventListener('play', () => {
                window.isPlaying = true;
            });
            modalAudio.addEventListener('pause', () => {
                window.isPlaying = false;
            });
        }

    window.navigateEpisode = function(direction) {
        let newIndex = direction === 'prev' ? currentEpisodeIndex - 1 : currentEpisodeIndex + 1;
        
        if (newIndex >= 0 && newIndex < allEpisodes.length) {
            const episode = allEpisodes[newIndex];
            openModal(episode.enclosure.link, episode.title);
        }
    }

      function sanitizeString(str) {
    return str.replace(/['"\\<>]/g, "");
}


    function updateNavigationButtons() {
        const prevButton = document.getElementById('prev-episode');
        const nextButton = document.getElementById('next-episode');
        
        prevButton.style.display = currentEpisodeIndex === 0 ? 'none' : 'flex';
        nextButton.style.display = currentEpisodeIndex === allEpisodes.length - 1 ? 'none' : 'flex';
    }

        window.closeModal = function() {
            const modalAudio = document.getElementById('modal-audio');
            const fixedPlayerBar = document.getElementById('fixed-player-bar');
            const fixedPlayerAudio = document.getElementById('fixed-player-audio');
            const fixedPlayerTitle = document.getElementById('fixed-player-title');
            
            if (window.isPlaying) {
                // Pause modal audio first
                modalAudio.pause();
                
                // Set up fixed player
                fixedPlayerBar.style.display = 'block';
                fixedPlayerTitle.textContent = window.currentEpisodeTitle;
                fixedPlayerAudio.src = currentAudioUrl;
                fixedPlayerAudio.currentTime = modalAudio.currentTime;
                fixedPlayerAudio.play();
            }
            
            document.getElementById("player-modal").style.display = "none";
        }

    // Add close fixed player function
    window.closeFixedPlayer = function() {
        const fixedPlayerBar = document.getElementById('fixed-player-bar');
        const fixedPlayerAudio = document.getElementById('fixed-player-audio');
        fixedPlayerAudio.pause();
        fixedPlayerBar.style.display = 'none';
    }

        window.startChromecast = function() {
            if (!chrome.cast || !chrome.cast.isAvailable) {
                console.log('Cast API not available');
                return;
            }

            chrome.cast.requestSession(
                function(session) {
                    if (currentAudioUrl) {
                        const mediaInfo = new chrome.cast.media.MediaInfo(currentAudioUrl, 'audio/mpeg');
                        mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();
                        mediaInfo.metadata.title = document.querySelector('#player-content h2').textContent;

                        const request = new chrome.cast.media.LoadRequest(mediaInfo);
                        session.loadMedia(request).then(
                            () => console.log('Lecture Chromecast démarrée'),
                            errorCode => console.error('Erreur Chromecast: ' + errorCode)
                        );
                    }
                },
                function(error) {
                    console.error('Erreur lors de la création de la session:', error);
                }
            );
        }

        window.shareOnX = function() {
            const text = "Écoutez les podcasts : Europe 1 Matin Week-end avec Lénaïg Monier d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(text)}&url=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnWhatsapp = function() {
            const text = "Écoutez les podcasts : Europe 1 Matin Week-end avec Lénaïg Monier d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://wa.me/?text=${encodeURIComponent(text + ' ' + url)}`, '_blank');
        };

        window.shareOnFacebook = function() {
          const text = "Écoutez les podcasts : Europe 1 Matin Week-end avec Lénaïg Monier d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnLinkedIn = function() {
          const text = "Écoutez les podcasts : Europe 1 Matin Week-end avec Lénaïg Monier d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(url)}`, '_blank');
        };

        window.filterAndDisplayEpisodes = function() {
            const searchTerm = document.getElementById('podcast-search').value.toLowerCase();
            const filterValue = document.getElementById('podcast-filter').value;
            
            // Filter episodes based on search term
            filteredEpisodes = allEpisodes.filter(episode => 
                episode.title.toLowerCase().includes(searchTerm) || 
                episode.description.toLowerCase().includes(searchTerm)
            );
            
            // Sort episodes based on filter value
            if (filterValue === 'oldest') {
                filteredEpisodes.sort((a, b) => new Date(a.pubDate) - new Date(b.pubDate));
            } else {
                filteredEpisodes.sort((a, b) => new Date(b.pubDate) - new Date(a.pubDate));
            }
            
            // Reset pagination to first page when filtering
            currentPage = 1;
            
            // Update display
            if (filteredEpisodes.length > 0) {
                displayFeaturedEpisode(filteredEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(filteredEpisodes);
            } else {
                // Handle no results
                document.getElementById('episode-grid').innerHTML = '<p style="color: #fff; text-align: center; grid-column: 1/-1;">Aucun résultat trouvé</p>';
                document.getElementById('page-numbers').innerHTML = '';
            }
        }
    })();
</script>
</div>
</div></div></body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-9e9820f e-con-full e-flex e-con e-parent" data-id="9e9820f" data-element_type="container">
				<div class="elementor-element elementor-element-d4246d5 elementor-widget elementor-widget-html" data-id="d4246d5" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<html><head><base>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  <style>
    .rs-carousel-section {
      padding: 50px 0; 
      background: linear-gradient(45deg, #1a1a1a, #2c2c2c, #0e4d4d);
      background-size: 400% 400%;
      animation: rs-gradientBG 15s ease infinite;
      color: #ffffff;
      font-family: 'Roboto', sans-serif;
      min-height: flex; 
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .rs-title {
      color: #00ffff;
      text-align: center;
      margin: 2rem 0;
      font-size: 2rem;
      text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-container {
      max-width: auto;
      width: 100%;
      position: relative;
      padding: 50px 150px; 
      box-sizing: border-box;
      overflow: hidden;
      margin: 0 auto; 
    }

    .rs-carousel {
      display: flex;
      overflow: hidden;
      scroll-behavior: smooth;
      gap: 20px;
      padding: 20px 0 0 0;
      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .rs-radio-card {
      min-width: 250px;
      flex: 0 0 250px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 15px;
      text-align: center;
      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
      border: 2px solid #00ffff;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);
      position: relative;
      overflow: hidden;
      transform-origin: center center;
      padding: 20px 15px; /* Add consistent padding */
    }

    .rs-radio-card.rs-scrolling {
      transform: scale(0.95) rotate(-2deg);
    }

    .rs-radio-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(0, 255, 255, 0.1), transparent);
      transition: 0.5s;
    }

    .rs-radio-card:hover::before {
      left: 100%;
    }

    .rs-radio-card:hover {
      transform: translateY(-5px) scale(1.02);
      box-shadow: 0 10px 30px rgba(0, 255, 255, 0.3);
      z-index: 1;
    }

    .rs-radio-logo {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      margin-bottom: 1rem;
      border: 3px solid #00ffff;
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);
      transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      cursor: pointer; /* Add cursor pointer to indicate interactivity */
    }

    .rs-radio-logo:hover {
      transform: rotateY(180deg) scale(1.15);
      border-color: #ff00ff;
      box-shadow: 
        0 0 25px rgba(0, 255, 255, 0.5),
        0 0 50px rgba(255, 0, 255, 0.3);
      animation: logoGlow 1.5s infinite alternate;
    }

    @keyframes logoGlow {
      0% {
        box-shadow: 0 0 25px rgba(0, 255, 255, 0.5),
                    0 0 50px rgba(255, 0, 255, 0.3);
      }
      100% {
        box-shadow: 0 0 35px rgba(0, 255, 255, 0.8),
                    0 0 70px rgba(255, 0, 255, 0.6);
      }
    }

    .rs-radio-name {
      font-size: 1.2rem; /* Reduced from 1.5rem */
      margin: 15px 0;
      color: #00ffff;
      transition: all 0.3s ease;
      position: relative; /* Added */
    }

    /* Add hover state for radio name span elements */
    .rs-radio-name span:first-child {
      display: inline-block;
      transition: opacity 0.3s ease;
    }

    .rs-radio-name span:last-child {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      opacity: 0;
      transition: opacity 0.3s ease;
      width: 100%;
    }

    .rs-radio-card:hover .rs-radio-name span:first-child {
      opacity: 0;
    }

    .rs-radio-card:hover .rs-radio-name span:last-child {
      opacity: 1;
    }

    .rs-listen-button {
      position: relative; /* Add this */
      background: #00ffff;
      color: #000;
      width: 60px;
      height: 60px;
      border: none;
      border-radius: 50%;
      font-size: 1.5rem;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      text-decoration: none;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 1rem auto;
      overflow: hidden;
    }

    .rs-listen-button:hover {
      background: #00cccc;
      transform: scale(1.1) rotate(360deg);
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.6);
    }

    .rs-listen-button::before {
      content: "Voir la webradio";
      position: absolute;
      bottom: -30px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(0, 255, 255, 0.9);
      color: #000;
      padding: 5px 10px;
      border-radius: 4px;
      font-size: 12px;
      white-space: nowrap;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
    }

    .rs-listen-button:hover::before {
      opacity: 1;
      visibility: visible;
      bottom: -35px;
    }

    .rs-listen-button:hover i {
      animation: rs-colorChange 2s infinite;
    }

    @keyframes rs-colorChange {
      0% { color: #ff0000; }
      20% { color: #ff7700; }
      40% { color: #ffff00; }
      60% { color: #00ff00; }
      80% { color: #0000ff; }
      100% { color: #ff0000; }
    }

    .rs-listen-button::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle, transparent 30%, rgba(255, 255, 255, 0.3) 70%);
      animation: rs-pulseGlow 2s infinite;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-listen-button:hover::after {
      opacity: 1;
    }

    @keyframes rs-pulseGlow {
      0% {
        transform: scale(0.95);
        opacity: 0.5;
      }
      50% {
        transform: scale(1.1);
        opacity: 0.2;
      }
      100% {
        transform: scale(0.95);
        opacity: 0.5;
      }
    }

    .rs-carousel-button {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0, 255, 255, 0.2);
      border: none;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #00ffff;
      font-size: 1.5rem;
      transition: all 0.3s ease;
      z-index: 2;
      overflow: hidden; /* Add this for ripple effect */
    }

    .rs-carousel-button:hover {
      background: rgba(0, 255, 255, 0.2);
      transform: translateY(-50%) scale(1.1);
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-button::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle at center, rgba(0, 255, 255, 0.8) 0%, transparent 70%);
      transform: scale(0);
      opacity: 0;
      transition: transform 0.5s ease-out, opacity 0.3s ease;
    }

    .rs-carousel-button:hover::before {
      transform: scale(2);
      opacity: 0.3;
    }

    .rs-carousel-button:hover i {
      animation: arrowBounce 0.5s ease infinite alternate;
    }

    @keyframes arrowBounce {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(3px);
      }
    }

    .rs-carousel-button.rs-prev:hover i {
      animation: arrowBounceLeft 0.5s ease infinite alternate;
    }

    @keyframes arrowBounceLeft {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(-3px);
      }
    }

    .rs-carousel-button.rs-prev {
      left: 0;
    }

    .rs-carousel-button.rs-next {
      right: 0;
    }

    @keyframes rs-floatingNotesCard {
      0% {
        opacity: 0;
        transform: translate(0, 0) rotate(0deg);
      }
      50% {
        opacity: 1;
      }
      100% {
        opacity: 0;
        transform: translate(-50px, -50px) rotate(360deg);
      }
    }

    .rs-card-notes {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-radio-card:hover .rs-card-notes {
      opacity: 1;
    }

    .rs-card-note {
      position: absolute;
      font-size: 20px;
      color: #00ffff;
      animation: rs-floatingNotesCard 2s ease-out infinite;
    }

    .rs-card-note-1 { top: 10%; left: 10%; animation-delay: 0s; }
    .rs-card-note-2 { top: 5%; left: 30%; animation-delay: 0.3s; }
    .rs-card-note-3 { top: 15%; left: 50%; animation-delay: 0.6s; }
    .rs-card-note-4 { top: 8%; left: 70%; animation-delay: 0.9s; }
    .rs-card-note-5 { top: 12%; left: 90%; animation-delay: 1.2s; }

    .rs-radio-tag {
      position: absolute;
      top: 10px;
      right: 10px;
      padding: 5px 12px;
      font-size: 0.8rem;
      border-radius: 15px;
      background: rgba(0, 0, 0, 0.7);
      color: #fff;
      border: 1px solid #00ffff;
      box-shadow: 0 0 5px #00ffff,
                  inset 0 0 5px #00ffff;
      text-transform: uppercase;
      letter-spacing: 1px;
      transition: all 0.3s ease;
      transform-style: preserve-3d;
      perspective: 1000px;
      cursor: pointer;
    }
    
    .rs-radio-tag i {
      margin-right: 5px;
      color: #00ffff;
      text-shadow: 0 0 5px #00ffff,
                   0 0 10px #00ffff,
                   0 0 15px #00ffff;
    }

    /* Add hover effects */
    .rs-radio-tag:hover {
      transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      box-shadow: 0 0 15px #00ffff,
                  inset 0 0 10px #00ffff,
                  0 10px 20px rgba(0, 255, 255, 0.4);
      background: rgba(0, 255, 255, 0.1);
      letter-spacing: 2px;
      animation: tagFloat 1s ease-in-out infinite alternate;
    }

    /* Add new keyframe animation */
    @keyframes tagFloat {
      0% {
        transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      }
      100% {
        transform: translateZ(30px) rotateX(15deg) rotateY(-15deg);
        text-shadow: 2px 2px 4px rgba(0, 255, 255, 0.6);
      }
    }

    /* Add before/after elements for 3D effect */
    .rs-radio-tag::before {
      content: '';
      position: absolute;
      inset: -2px;
      background: linear-gradient(45deg, transparent, rgba(0, 255, 255, 0.3), transparent);
      transform: translateZ(-1px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag::after {
      content: '';
      position: absolute;
      inset: -1px;
      background: linear-gradient(-45deg, transparent, rgba(0, 255, 255, 0.2), transparent);
      transform: translateZ(-2px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag:hover::before,
    .rs-radio-tag:hover::after {
      opacity: 1;
    }

    @keyframes rs-floatingNotes {
      0% {
        transform: translateY(0) rotate(0deg) scale(1);
        opacity: 0;
      }
      50% {
        transform: translateY(-20px) rotate(180deg) scale(1.2);
        opacity: 1;
      }
      100% {
        transform: translateY(-40px) rotate(360deg) scale(1);
        opacity: 0;
      }
    }

    @media (max-width: 768px) {
      .rs-carousel-section {
        padding: 30px 0;
      }
      .rs-carousel-container {
        padding: 15px 20px; 
      }
      .rs-radio-card {
        min-width: 250px !important; /* Reduced by 20% from original 312.5px */
        flex: 0 0 250px !important; /* Reduced by 20% from original 312.5px */
      }
      /* Content size reductions */
      .rs-radio-logo {
        width: 84px !important;
        height: 84px !important;
      }
      .rs-radio-name {
        font-size: 1rem !important;
      }
      .rs-listen-button {
        width: 48px;
        height: 48px;
      }
    }

    @media (max-width: 480px) {
      .rs-carousel-section {
        padding: 20px 0;
      }
      .rs-carousel-container {
        padding: 0 30px; 
      }
      .rs-radio-card {
        min-width: 200px !important; /* Further reduced by 20% from tablet size */
        flex: 0 0 200px !important; /* Further reduced by 20% from tablet size */
      }
      /* Further reduce content for smallest screens */
      .rs-radio-logo {
        width: 76px !important;
        height: 76px !important;
        margin: 8px auto 12px !important;
      }
      .rs-radio-name {
        font-size: 0.9rem !important;
      }
      .rs-listen-button {
        width: 40px;
        height: 40px;
      }
    }

    /* Add this CSS inside the existing <style> tag */
    .rs-all-podcasts-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 12px 24px;
      margin: 30px auto 20px;
      background: linear-gradient(45deg, #00ffff, #00cccc);
      border: none;
      border-radius: 25px;
      color: #000;
      font-size: 1rem;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.3s ease;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
      position: relative;
      overflow: hidden;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .rs-all-podcasts-btn:hover {
      transform: translateY(-2px) scale(1.05);
      box-shadow: 
        0 0 20px rgba(0, 255, 255, 0.5),
        0 0 40px rgba(0, 255, 255, 0.2);
    }

    .rs-all-podcasts-btn::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, transparent 65%);
      transform: scale(0);
      transition: transform 0.6s ease-out;
    }

    .rs-all-podcasts-btn:hover::before {
      transform: scale(1) rotate(45deg);
    }

    .rs-all-podcasts-btn i {
      font-size: 1.2rem;
      color: #000;
    }
  </style>
</head>
<body>
  <div class="rs-carousel-section" id="radiostreamr-carousel-section">
    <h2 class="rs-title" id="radiostreamr-title" style="font-size: 28px; animation: textGlow 2s infinite; text-shadow: 0 0 10px rgba(0, 255, 255, 0.5), 0 0 20px rgba(0, 255, 255, 0.3), 0 0 30px rgba(0, 255, 255, 0.2); position: relative; padding-left: 15px; padding-right: 15px;">
  Ecoutez les meilleurs podcasts de la chaine Europe 1 :
</h2>
    
    <div class="rs-carousel-container" id="radiostreamr-container">
      <button class="rs-carousel-button rs-prev" id="radiostreamr-prev-button">
        <i class="fas fa-chevron-left"></i>
      </button>
      
      <div class="rs-carousel" id="radiostreamr-carousel" style="gap: 25px;">

        <!-- Skyrock -->
        <div class="rs-radio-card" id="radiostreamr-card-hondelatte" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/hondelatte-raconte-podcast.webp" alt="Hondelatte raconte" class="rs-radio-logo" style="width: 105px; height: 105px; margin: 10px auto 15px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Histoire prenante</span>
          <h2 class="rs-radio-name">
            <span>Hondelatte raconte</span>
            <span>Podcasts Hondelatte raconte</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-hondelatte-raconte/" class="rs-listen-button" style="margin: 15px auto 10px;">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Oui FM -->
        <div class="rs-radio-card" id="radiostreamr-card-On-marche-sur-la-tête" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-podcast-on-marche-sur-la-tete-cyril-hanouna-radiostreamr.webp" alt="On marche sur la tête logo" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-laugh"></i>Humour</span>
          <h2 class="rs-radio-name">
            <span>On marche sur la tête</span>
            <span>Podcasts On marche sur la tête</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-on-marche-sur-la-tete/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- FIP -->
        <div class="rs-radio-card" id="radiostreamr-card-Europe-1-Matin" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-matin-podcast.webp" alt="FIP Radio" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Matin</span>
            <span>Podcasts Europe 1 Matin</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-matin/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
        
        <!-- Add after the FIP card and before RMC -->
        <div class="rs-radio-card" id="radiostreamr-card-le-grand-rendez-vous" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/0x1900-000000-80-0-0.webp" alt="Le grand rendez-vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Le Grand Rendez-vous</span>
            <span>Podcasts Le Grand Rendez-vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-le-grand-rendez-vous//" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-pascal-praud" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/pascal-praud-podcast.webp" alt="Pascal Praud et vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Pascal Praud et vous</span>
            <span>Podcasts Pascal Praud et vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-pascal-praud/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-cheriefm" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-logo-radio-en-ligne.webp" alt="Charlotte d'Ornellas - Les signatures d'Europe 1" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Chronique actualité</span>
          <h2 class="rs-radio-name">
            <span>Charlotte d'Ornellas</span>
            <span>Podcasts Charlotte d'Ornellas</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-chronique-charlotte-dornellas/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- La Libre Antenne -->
        <div class="rs-radio-card" id="radiostreamr-card-libre-antenne" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/libre-antenne.webp" alt="La Libre Antenne" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-comments"></i>Discussion</span>
          <h2 class="rs-radio-name">
            <span>La Libre Antenne</span>
            <span>Podcasts La Libre Antenne</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-olivier-delacroix/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Il n'y a qu'une vie dans la vie -->
        <div class="rs-radio-card" id="radiostreamr-card-isabelle-morizet" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/isabelle-morizet-podcast.webp" alt="Il n'y a qu'une vie dans la vie" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-friends"></i>Interview</span>
          <h2 class="rs-radio-name">
            <span>Il n'y a qu'une vie dans la vie</span>
            <span>Podcasts Isabelle Morizet</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-isabelle-morizet/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 Soir -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-soir" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-soir-podcasts.webp" alt="Europe 1 Soir" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Soir</span>
            <span>Podcasts Europe 1 Soir</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-soir/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 13h -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-13h" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-13h-podcast.webp" alt="Europe 1 13h" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 13h</span>
            <span>Podcasts Europe 1 13h</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-13h/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Le Studio des Légendes -->
        <div class="rs-radio-card" id="radiostreamr-card-studio-legendes" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/le-studio-des-legendes-podcast.webp" alt="Le Studio des Légendes" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-star"></i>Culture</span>
          <h2 class="rs-radio-name">
            <span>Le Studio des Légendes</span>
            <span>Podcasts Le Studio des Légendes</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-studio-des-legendes/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe Soir Week-end -->
        <div class="rs-radio-card" id="radiostreamr-card-europe-soir-weekend" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-soir-week-end-podcast.webp" alt="Europe Soir Week-end" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe Soir Week-end</span>
            <span>Podcasts Europe Soir Week-end</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe-soir-week-end/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- L'heure des Pros -->
        <div class="rs-radio-card" id="radiostreamr-card-heure-pros" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/lheure-des-pros-podcast.webp" alt="L'heure des Pros" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>L'heure des Pros</span>
            <span>Podcasts L'heure des Pros</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-lheure-des-pros/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les années Top 50 -->
        <div class="rs-radio-card" id="radiostreamr-card-top-50" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/les-annees-top-50-podcast-europe1-1.webp" alt="Les années Top 50" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Musique</span>
          <h2 class="rs-radio-name">
            <span>Les années Top 50</span>
            <span>Podcasts Les années Top 50</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-top-50/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Face à Philippe de Villiers -->
        <div class="rs-radio-card" id="radiostreamr-card-philippe-villiers" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/philippe-de-villiers-podcast-europe1.webp" alt="Face à Philippe de Villiers" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-tie"></i>Politique</span>
          <h2 class="rs-radio-name">
            <span>Face à Philippe de Villiers</span>
            <span>Podcasts Face à Philippe de Villiers</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-face-a-philippe-de-villiers/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les histoires d'amour extraordinaires -->
        <div class="rs-radio-card" id="radiostreamr-card-histoires-amour" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/sophie-davant-podcast.webp" alt="Les histoires d'amour extraordinaires" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-heart"></i>Romance</span>
          <h2 class="rs-radio-name">
            <span>Les histoires d'amour extraordinaires</span>
            <span>Podcasts Les histoires d'amour extraordinaires</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-histoires-damour-extraordinaires/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Au Coeur de l'Histoire -->
        <div class="rs-radio-card" id="radiostreamr-card-coeur-histoire" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/podcast-au-coeur-de-lhistoire.webp" alt="Au Coeur de l'Histoire" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-book-open"></i>Histoire</span>
          <h2 class="rs-radio-name">
            <span>Au Coeur de l'Histoire</span>
            <span>Podcasts Au Coeur de l'Histoire</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-au-coeur-de-lhistoire/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
      </div>

      <button class="rs-carousel-button rs-next" id="radiostreamr-next-button">
        <i class="fas fa-chevron-right"></i>
      </button>
    </div>
    <a href="https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/podcast-europe1" class="rs-all-podcasts-btn">
      <i class="fas fa-podcast"></i>
      Voir tous les podcasts
    </a>
  </div>

  <script>
    (function() {
      class RadioStreamrCarousel {
        constructor(selector) {
          this.container = document.querySelector(selector);
          this.carousel = this.container.querySelector('.rs-carousel');
          this.allCards = Array.from(this.container.querySelectorAll('.rs-radio-card')); // Store all cards
          this.prevButton = this.container.querySelector('.rs-carousel-button.rs-prev');

          // Select random 9 cards
          this.selectRandomCards();
          
          // Initialize properties after cards are selected
          this.cards = Array.from(this.container.querySelectorAll('.rs-radio-card'));
          this.currentIndex = 0;
          this.cardWidth = this.cards[0].offsetWidth + 20;
          this.cardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
          this.maxIndex = this.cards.length - this.cardsPerView;
          this.nextButton = this.container.querySelector('.rs-carousel-button.rs-next');

          this.init();
        }

        selectRandomCards() {
          // Remove all cards from carousel
          this.allCards.forEach(card => card.remove());

          // Randomly select 9 cards
          const shuffled = [...this.allCards].sort(() => 0.5 - Math.random());
          const selected = shuffled.slice(0, 14);
          
          // Add selected cards back to carousel
          selected.forEach(card => {
            this.carousel.appendChild(card);
          });
        }

        init() {
          this.bindEvents();
        }

        scrollToIndex(index) {
          // Handle infinite loop
          if (index < 0) {
            this.currentIndex = this.cards.length - this.cardsPerView;
          } else if (index > this.maxIndex) {
            this.currentIndex = 0;
          } else {
            this.currentIndex = index;
          }
          
          // Add scrolling class to cards
          this.cards.forEach(card => {
            card.classList.add('rs-scrolling');
            setTimeout(() => card.classList.remove('rs-scrolling'), 500);
          });

          // Scroll with animation
          this.carousel.scrollTo({
            left: this.currentIndex * this.cardWidth,
            behavior: 'smooth'
          });

          // Create floating notes effect
          const notes = ['♪', '♫', '♬'];
          for(let i = 0; i < 3; i++) {
            const note = document.createElement('span');
            note.textContent = notes[Math.floor(Math.random() * notes.length)];
            note.style.cssText = `
              position: absolute;
              color: #00ffff;
              font-size: 24px;
              top: ${50 + Math.random() * 100}px;
              left: ${50 + Math.random() * (this.carousel.offsetWidth - 100)}px;
              animation: rs-floatingNotes 1s ease-out ${i * 0.2}s forwards;
              pointer-events: none;
            `;
            this.carousel.appendChild(note);
            setTimeout(() => note.remove(), 1000 + i * 200);
          }
        }

        bindEvents() {
          this.prevButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex - 1));
          this.nextButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex + 1));

          window.addEventListener('resize', () => {
            const newCardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
            const newMaxIndex = this.cards.length - newCardsPerView;
            this.currentIndex = Math.min(this.currentIndex, newMaxIndex);
            this.scrollToIndex(this.currentIndex);
          });
        }
      }

      document.addEventListener('DOMContentLoaded', function() {
        new RadioStreamrCarousel('.rs-carousel-section');
      });
    })();
  </script>
</body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-0d0797d e-con-full e-flex e-con e-parent" data-id="0d0797d" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
				<div class="elementor-element elementor-element-9260360 elementor-widget elementor-widget-shortcode" data-id="9260360" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"></div>
						</div>
				</div>
				</div>
				</div>
		<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-europe1-matin-week-end/">🗣️ Podcast et Replay &#8211; Europe 1 Matin Week-end  &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://radiostreamr.com/radio-france/podcast-europe1-matin-week-end/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🗣️ Podcast et Replay &#8211; La revue de presse des hebdos  &#8211; Europe 1</title>
		<link>https://radiostreamr.com/radio-france/podcast-revue-de-presse-des-hebdos/</link>
					<comments>https://radiostreamr.com/radio-france/podcast-revue-de-presse-des-hebdos/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 10 Nov 2024 10:50:02 +0000</pubDate>
				<category><![CDATA[Europe 1]]></category>
		<category><![CDATA[Podcast]]></category>
		<guid isPermaLink="false">https://radiostreamr.com/radio-france/?p=1035</guid>

					<description><![CDATA[<p>La revue de presse des hebdos &#8211; Écoutez en rediffusion tous les podcasts Europe 1 Plus récentsPlus anciens Publicité La revue de presse des hebdos &#8211; Une chronique d&#8217;Europe 1 Matin week-end qui décrypte l&#8217;actualité à travers la presse hebdomadaire française Voir leur Facebook Voir leur Instagram Voir leur site web Chaque week-end dans Europe [&#8230;]</p>
<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-revue-de-presse-des-hebdos/">🗣️ Podcast et Replay &#8211; La revue de presse des hebdos  &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="1035" class="elementor elementor-1035" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-dce457e e-con-full e-flex e-con e-parent" data-id="dce457e" data-element_type="container">
				<div class="elementor-element elementor-element-9f9be1c 1995 elementor-widget elementor-widget-html" data-id="9f9be1c" data-element_type="widget" id="1995" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<!DOCTYPE html><html><head><meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&amp;display=swap" rel="stylesheet">
<style>
    .rtl-podcast-player * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Roboto', sans-serif;
    }

  .rtl-podcast-player #pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
}

@keyframes gradientBG {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.rtl-podcast-player body {
    background: linear-gradient(-45deg, #0a192f, #172a45, #1a365d, #102235);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    min-height: 100vh;
    display: flex;
    align-items: center;
    color: #fff;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

    .rtl-podcast-player .container {
        display: grid;
        grid-template-columns: 1.2fr 2.8fr;
        gap: 20px;
        margin: 0 auto;
        padding: 50px 150px !important;
        width: 100%;
        background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
        background-size: 400% 400%;
        animation: gradientBG 15s ease infinite;
        border-radius: 0;
        box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);
    }


    @media (max-width: 1024px) {
        .rtl-podcast-player .container {
            padding: 30px 45px;
            grid-template-columns: 1fr 2fr;
        }
        
        .rtl-podcast-player h1 {
            font-size: 2em;
        }
    }


    @media (max-width: 768px) {
        .rtl-podcast-player .container {
            padding: 20px !important; /* Override padding */
            margin: 0 !important; /* Reset margin */
            width: 100% !important;
            max-width: 100% !important;
            grid-template-columns: 1fr;
            overflow-x: hidden; /* Prevent horizontal scroll */
        }
        
        .rtl-podcast-player #episode-grid,
        .rtl-podcast-player .episode,
        .rtl-podcast-player #featured-episode,
        .rtl-podcast-player .host-biography,
        .rtl-podcast-player .social-share-buttons {
            width: 100% !important;
            margin-left: auto !important;
            margin-right: auto !important;
            padding: 15px !important;
        }
        
        .rtl-podcast-player h1,
        .rtl-podcast-player h2,
        .rtl-podcast-player p {
            padding-left: 10px !important;
            padding-right: 10px !important;
            text-align: center;
        }

        .rtl-podcast-player #episode-grid {
            grid-template-columns: 1fr !important; /* Force single column */
            gap: 20px;
        }
        
        .rtl-podcast-player .episode {
            width: 100% !important;
            margin: 0 auto !important;
        }
    }


@media (max-width: 480px) {
    .rtl-podcast-player .container {
        padding: 10px !important;
    }
    
    .rtl-podcast-player #featured-episode,
    .rtl-podcast-player .episode {
        padding: 15px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }
}

.rtl-podcast-player h1 {
    color: #00ffff;
    text-align: center;
    font-size: 2.3em;
    margin-bottom: 40px;
    font-weight: 700;
    width: 100%;
    grid-column: 1 / -1;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.3);
}

  #fixed-player-bar {
        display: flex;               /* Assure l'affichage en flex */
        flex-direction: column;       /* Organisation en colonne */
        align-items: center;          /* Centre les éléments */
        padding: 10px;
        gap: 10px;                    /* Espace entre chaque ligne */
        background: rgba(26, 26, 26, 0.95); /* Conserve l’arrière-plan */
        display: none;                /* Masqué par défaut */
    }

    /* Ligne 1 : Titre de l'épisode */
    #fixed-player-title {
        display: block;               /* Force l'affichage sur une ligne complète */
        text-align: center;
        font-size: 1.2em;
        color: #00ffff;
        width: 100%;                  /* Prend la largeur complète */
    }

    /* Ligne 2 : Player audio */
    #fixed-player-audio {
        display: block;               /* Force l'affichage sur une ligne complète */
        width: 100%;
    }

    /* Ligne 3 : Conteneur pour les boutons Chromecast et fermeture */
    .audio-controls-container {
        display: flex;
        justify-content: center;
        gap: 20px;
        width: 100%;                  /* Assure une disposition sur toute la largeur */
    }

    /* Styles des boutons */
    #chromecast-button, #close-fixed-player {
        width: 40px;
        height: 40px;
        border: none;
        cursor: pointer;
    }
}

  @media (max-width: 768px) {
    .rtl-podcast-player h1 {
        margin-top: 0px !important; /* Ajustez la valeur selon vos besoins */
    }
}
  
.rtl-podcast-player #featured-episode {
    /* Remplacer ces styles */
    display: flex;
    flex-direction: column;
    height: 100%; /* Ajout de cette ligne */
    padding: 30px;
    border-radius: 15px;
    background-color: transparent;
    color: #ffffff;
    transition: all 0.3s ease;
}

.rtl-podcast-player #featured-episode:hover {
    transform: translateY(-5px);
}

.rtl-podcast-player #featured-episode h3 {
    color: #00ffff;
    margin-bottom: 15px;
    font-weight: 500;
}

.rtl-podcast-player #featured-episode button, .rtl-podcast-player .episode button {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    padding: 0;
    background-image: url('https://static.vecteezy.com/system/resources/thumbnails/017/196/540/small/3d-play-button-icon-transparent-background-free-png.png');
    background-size: 35px;
    background-position: center;
    background-repeat: no-repeat;
    font-size: 0;
    position: relative;
}

    .rtl-podcast-player .date-badge {
        background: rgba(0, 255, 255, 0.1);
        border: 2px solid #00ffff;
        border-radius: 8px;
        padding: 8px 15px;
        color: #00ffff;
        font-weight: bold;
        text-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
        box-shadow: 
            0 0 5px rgba(0, 255, 255, 0.2),
            0 0 10px rgba(0, 255, 255, 0.2),
            0 0 15px rgba(0, 255, 255, 0.2),
            0 0 20px rgba(0, 255, 255, 0.2);
        animation: neonPulse 1.5s ease-in-out infinite;
        margin: 15px auto 20px auto; /* Increased bottom margin */
        display: block; /* Changed from inline-block to block */
        width: fit-content;
    }

    @keyframes neonPulse {
        0%, 100% {
            box-shadow: 
                0 0 5px rgba(0, 255, 255, 0.2),
                0 0 10px rgba(0, 255, 255, 0.2),
                0 0 15px rgba(0, 255, 255, 0.2),
                0 0 20px rgba(0, 255, 255, 0.2);
        }
        50% {
            box-shadow: 
                0 0 10px rgba(0, 255, 255, 0.4),
                0 0 20px rgba(0, 255, 255, 0.4),
                0 0 30px rgba(0, 255, 255, 0.4),
                0 0 40px rgba(0, 255, 255, 0.4);
        }
    }


.rtl-podcast-player #featured-episode img,
.rtl-podcast-player .episode img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .modal-content img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .episode button:hover::after,
.rtl-podcast-player #featured-episode button:hover::after {
    content: "Ecouter ce podcast";
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap;
    z-index: 1000;
}

.rtl-podcast-player #featured-episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #episode-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

    .rtl-podcast-player .episode {
        padding: 20px;
        border-radius: 15px;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.1);
        text-align: center;
        background-color: #1a1a1a;
        transition: all 0.3s ease;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .rtl-podcast-player .episode p {
        color: #ffffff;
    }


.rtl-podcast-player .episode:hover {
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);
    transform: translateY(-3px);
}

.rtl-podcast-player .episode h5 {
    margin-bottom: 10px;
    color: #00ffff;
}

.rtl-podcast-player .episode a {
    color: #00ffff;
    text-decoration: none;
}

    .rtl-podcast-player .episode button:hover {
        background-color: #00cccc;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }
    
    .search-filter-container {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        margin-bottom: 30px;
        width: 100%;
    }

    .search-filter-container input,
    .search-filter-container select {
        padding: 10px 15px;
        border: 2px solid #00ffff;
        border-radius: 8px;
        background: rgba(0, 0, 0, 0.3);
        color: #fff;
        font-size: 16px;
        width: 200px;
    }

    .search-filter-container input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }

    .search-filter-container input:focus,
    .search-filter-container select:focus {
        outline: none;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
    }

    .search-filter-container select {
        cursor: pointer;
    }

    .search-filter-container select option {
        background-color: #1a1a1a;
        color: #fff;
    }

    @media (max-width: 768px) {
        .search-filter-container {
            flex-direction: column;
            gap: 10px;
        }

        .search-filter-container input,
        .search-filter-container select {
            width: 100%;
            max-width: 300px;
        }
    }

    color: #000;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-top: 10px; /* Add space above button */
    display: block; /* Ensure block-level display */
    margin-left: auto;
    margin-right: auto;
}

.rtl-podcast-player .episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player .pagination {
    text-align: center !important;
    margin-top: 30px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
}

  .rtl-podcast-player #page-numbers {
    display: flex !important;
    gap: 5px !important;
    margin: 0 5px !important;
}
  
.rtl-podcast-player .pagination button,
.rtl-podcast-player .pagination #prev-btn,
.rtl-podcast-player .pagination #next-btn {
    margin: 0 !important;  /* Changé de 5px à 0 */
    padding: 8px 16px;
    font-size: 1em;
    background-color: #1a1a1a;
    color: #00ffff;
    border: 1px solid #00ffff;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rtl-podcast-player .pagination button:hover {
    background-color: #00ffff;
    color: #000;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
}

.rtl-podcast-player .modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
}

.rtl-podcast-player .modal-content {
    background-color: #1a1a1a;
    padding: 40px;
    border: 2px solid #00ffff;
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: auto;
    color: white;
}

.rtl-podcast-player .close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: #00ffff;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
}

.rtl-podcast-player .close:hover {
    color: #00cccc;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #chromecast-button {
    background-color: #00ffff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    color: #000;
    margin-top: 20px;
    font-weight: bold;
    display: inline-block;
}

.rtl-podcast-player audio::-webkit-media-controls-panel {
    background-color: #2a2a2a;
}

.rtl-podcast-player audio::-webkit-media-controls-current-time-display,
.rtl-podcast-player audio::-webkit-media-controls-time-remaining-display {
    color: #000000;
}

.rtl-podcast-player #fixed-player-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(26, 26, 26, 0.95);
    backdrop-filter: blur(10px);
    padding: 10px 20px;
    z-index: 999;
    border-top: 2px solid #00ffff;
}

.rtl-podcast-player .fixed-player-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    gap: 20px;
}


.rtl-podcast-player #fixed-player-title {
    color: #00ffff;
    font-size: 1em;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.rtl-podcast-player #fixed-player-audio {
    flex: 2;
    max-width: 500px;
}

.episode-card {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(0, 255, 255, 0.3);
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.episode-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 255, 255, 0.2);
}

.episode-card img {
    width: 100%;
    max-width: 200px;
    border-radius: 10px;
    margin: 10px 0;
}

.episode-card button {
    margin-top: 10px;
}
  
/* Conserve les styles des boutons play et mute */
audio::-webkit-media-controls-play-button,
audio::-webkit-media-controls-mute-button {
    background-color: #40E0D0 !important; /* Bleu turquoise */
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
}

audio::-webkit-media-controls-play-button:hover,
audio::-webkit-media-controls-mute-button:hover {
    background-color: #5FECEC !important; /* Bleu turquoise plus clair au survol */
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5) !important;
}

/* Tentative pour changer la couleur du trait de progression */
audio::-webkit-media-controls-timeline {
    color: #a6a6a6 !important; /* Essaye de cibler le trait turquoise */
}

/* Modifie la couleur des trois petits points */
audio::-webkit-media-controls-panel {
    background-color: transparent !important; /* Assure que le fond ne prend pas de couleur */
    color: #40E0D0 !important; /* Forcer la couleur turquoise pour les trois points */
}

/* Tentative supplémentaire pour cibler le trait du curseur de progression */
audio::-webkit-slider-runnable-track {
    background-color: #40E0D0 !important; /* Bleu turquoise pour la piste */
}

audio::-webkit-slider-thumb {
    background-color: #a6a6a6 !important; /* Plus clair pour le curseur lui-même */
}


@media (max-width: 768px) {
    .rtl-podcast-player .fixed-player-content {
        flex-direction: column;
        gap: 10px;
        padding: 15px;
    }

    .rtl-podcast-player #fixed-player-audio {
        width: 100%;
        max-width: 100%;
    }

    .rtl-podcast-player #fixed-player-title {
        width: 100%;
        text-align: center;
        font-size: 0.9em;
    }
}

.rtl-podcast-player .social-button {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease-in-out;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.rtl-podcast-player .social-button:hover {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .rtl-podcast-player .social-share-buttons {
        gap: 10px;
    }
    
    .rtl-podcast-player .social-button {
        width: 40px;
        height: 40px;
    }
    
    .rtl-podcast-player .social-button svg {
        width: 20px;
        height: 20px;
    }
}

.navigation-buttons {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    pointer-events: none;
    z-index: 1000;
}

.nav-button {
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid #00ffff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    pointer-events: auto;
}  

.nav-button:hover {
    background: rgba(0, 255, 255, 0.2);
    transform: scale(1.1);
}

.nav-button svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 768px) {
    .nav-button {
        width: 35px;
        height: 35px;
    }
    
    .nav-button svg {
        width: 20px;
        height: 20px;
    }
}
</style>
<script type="text/javascript" src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js"></script>

</head><body>
<div class="rtl-podcast-player">
    <div class="container" style="background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    border-radius: 0; /* Changed from 20px to 0 */
    box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);">
    <h1 style="color: #00ffff; text-align: center; font-size: 2.1em; margin-bottom: 40px; font-weight: 700; width: 100%; grid-column: 1 / -1; text-shadow: 0 0 10px rgba(0, 255, 255, 0.3); padding: 0 15px; display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap;">
La revue de presse des hebdos - Écoutez en rediffusion tous les podcasts Europe 1
<img decoding="async" src="https://cdn-europe1.lanmedia.fr/var/europe1/storage/images/europe1/animateurs/europe-12/53472641-3-fre-FR/Europe-1.png" alt="Logo Europe 1" style="width: 60px; height: 60px; border-radius: 50%; padding: 5px; background: white; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);">
</h1>
    <div class="social-share-buttons" style="display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 30px; width: 100%; grid-column: 1 / -1;">
    <button onclick="shareOnX()" class="social-button" style="background-color: #000;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path>
        </svg>
    </button>
    <button onclick="shareOnWhatsapp()" class="social-button" style="background-color: #25D366;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"></path>
        </svg>
    </button>
    <button onclick="shareOnFacebook()" class="social-button" style="background-color: #1877F2;">  
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path>
        </svg>
    </button>
    <button onclick="shareOnLinkedIn()" class="social-button" style="background-color: #0A66C2;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path>
        </svg>
    </button>
</div>
      
    <div id="featured-episode" style="display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: space-between; gap: 20px; height: 100%; position: relative; padding-top: 20px; cursor: pointer;">
  <div class="features-episode" style="width: 100%; height: 100%;">
    <!-- Première carte (dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
            
    <!-- Deuxième carte (avant-dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
  </div>
</div>
    <div>
    <div class="search-filter-container">
        <input type="text" id="podcast-search" placeholder="Rechercher un podcast..." oninput="filterAndDisplayEpisodes()">
        <select id="podcast-filter" onchange="filterAndDisplayEpisodes()">
            <option value="newest">Plus récents</option>
            <option value="oldest">Plus anciens</option>
        </select>
    </div>
    <div id="episode-grid">
        <style>
            .episode {
                cursor: pointer;
            }
            
            .episode > * {
                pointer-events: none;
            }
            
            .episode button {
                pointer-events: auto;
            }
        </style>
    </div>
    <div class="pagination" id="pagination">
    <button id="prev-btn" onclick="changePage('prev')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M15 18l-6-6 6-6"></path>
        </svg>
    </button>
    <span id="page-numbers"></span>
    <button id="next-btn" onclick="changePage('next')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M9 18l6-6-6-6"></path>
        </svg>
    </button>
</div>

      <div class="ad-banner" style="width: 100%; max-width: 508px; margin: 20px auto; text-align: center; grid-column: 1 / -1; background: rgba(0,0,0,0.3); padding: 15px; border-radius: 10px; border: 1px solid rgba(0, 255, 255, 0.2); transition: transform 0.3s ease;">
    <p style="color: #666; font-size: 12px; margin-bottom: 10px;">Publicité</p>
    <a href="https://universal-academy.com/recruter-des-alternants-dans-le-tourisme/" target="_blank" style="display: inline-block;">
        <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/Design-sans-titre-2024-11-06T134332.299.webp" alt="Bannière publicitaire RTL" style="width: 100%; max-width: 700px; height: auto; border-radius: 8px; transition: transform 0.3s ease;" onmouseover="this.style.transform='scale(1.02)'" onmouseout="this.style.transform='scale(1)'">
    </a>
</div>

    <script>
        // Ajouter un event listener pour les cartes d'épisodes
        document.getElementById('episode-grid').addEventListener('click', (e) => {
            const episodeCard = e.target.closest('.episode');
            if (episodeCard) {
                // Trouver le bouton dans la carte et simuler un clic dessus
                const button = episodeCard.querySelector('button');
                if (button) {
                    button.click();
                }
            }
        });
    </script>
</div>
    
    <div class="host-biography" style="grid-column: 1 / -1; background: rgba(0, 0, 0, 0.3); padding: 30px; border-radius: 15px; margin-top: 30px; border: 1px solid rgba(0, 255, 255, 0.2);">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
        <!-- Media query pour passer en une colonne sur mobile -->
        <style>
            @media (max-width: 768px) {
                .host-biography > div {
                    grid-template-columns: 1fr !important;
                }
            }
        </style>

      <div class="host-biography" style="grid-column: 1 / -1; padding: 30px; border-radius: 15px; margin-top: 30px;">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
      <div style="grid-column: 1 / -1; margin-bottom: 30px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">La revue de presse des hebdos - Une chronique d'Europe 1 Matin week-end qui décrypte l'actualité à travers la presse hebdomadaire française</h2>

    <!-- Nouveaux boutons de réseaux sociaux -->
    <div style="display: flex; justify-content: center; align-items: center; gap: 20px; margin: 20px 0;">
        <a href="https://www.facebook.com/Europe1/?locale=fr_FR" target="_blank" style="position: relative; width: 50px; height: 50px; background: #1877F2; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Facebook</span>
</a>

        <a href="https://www.instagram.com/europe1/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #E4405F; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Instagram</span>
</a>

        <a href="https://www.europe1.fr/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #00ffff; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#000000">
        <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur site web</span>
</a>
    </div>

    <style>
        /* Hover effects pour les boutons */
        .host-biography a:hover {
            transform: scale(1.1);
            box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
        }
        
        .host-biography a:hover span {
            opacity: 1;
        }

        /* Media queries pour le responsive */
        @media (max-width: 768px) {
            .host-biography div[style*="display: flex"] {
                flex-wrap: wrap;
                justify-content: center;
                gap: 15px;
            }
        }
    </style>

    <p style="color: #ffffff; line-height: 1.6; text-align: center; max-width: 1200px; margin: 0 auto;">
    Chaque week-end dans Europe 1 Matin, retrouvez la revue de presse des hebdos qui décrypte l'actualité à travers la presse hebdomadaire française. En analysant les unes et articles des grands magazines d'actualité, cette chronique apporte un éclairage approfondi sur les sujets qui font débat. Avec un regard acéré et une analyse fine des différentes lignes éditoriales, elle permet de comprendre les positions et arguments développés par chaque titre de presse. Un rendez-vous incontournable qui offre une synthèse claire et pertinente des grands thèmes traités par les hebdomadaires nationaux, enrichissant ainsi la compréhension des enjeux contemporains qui animent notre société.
</p>
    
    <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 30px; padding: 20px;">
        <!-- Les 6 cartes existantes restent inchangées -->
        <!-- Carte 1 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M3 18v-6a9 9 0 0 1 18 0v6"></path>
                <path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"></path>
            </svg>
            <p style="color: #ffffff; margin: 0;">Écouter gratuitement tous les podcasts en streaming</p>
        </div>

        <!-- Carte 2 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                <polyline points="7 10 12 15 17 10"></polyline>
                <line x1="12" y1="15" x2="12" y2="3"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Télécharger les épisodes pour une écoute hors-ligne</p>
        </div>

        <!-- Carte 3 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"></path>
                <line x1="2" y1="20" x2="2" y2="20"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Diffuser sur votre Chromecast ou appareil compatible</p>
        </div>

        <!-- Carte 4 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <polygon points="10 8 16 12 10 16 10 8"></polygon>
            </svg>
            <p style="color: #ffffff; margin: 0;">Accéder à toutes les rediffusions des émissions précédentes</p>
        </div>

        <!-- Carte 5 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
        <circle cx="9" cy="7" r="4"></circle>
        <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
        <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
    </svg>
    <p style="color: #ffffff;">Découvrez la revue de presse des hebdos qui analyse l'actualité à travers les magazines hebdomadaires.</p>
</div>

        <!-- Carte 6 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px; position: relative;" onmouseover="this.style.transform='translateY(-5px)'; document.getElementById('live-tooltip').style.opacity='1'" onmouseout="this.style.transform='translateY(0)'; document.getElementById('live-tooltip').style.opacity='0'" onclick="window.location.href='https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/'">
    <div id="live-tooltip" style="position: absolute; top: -40px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); color: #fff; padding: 8px 15px; border-radius: 5px; font-size: 14px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; border: 1px solid #00ffff; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">
        Cliquez pour écouter en direct "Europe 1 13h"
    </div>
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M4 12h1"></path>
        <path d="M9 12h1"></path>
        <path d="M14 12h1"></path>
        <path d="M19 12h1"></path>
        <rect x="2" y="8" width="20" height="12" rx="2"></rect>
        <path d="M6 8V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4"></path>
        <circle cx="12" cy="14" r="4"></circle>
        <path d="M12 10v8"></path>
        <path d="M8 14h8"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Ou écouter en direct la "Revue de presse des hebdos" sur Europe 1 Matin week-end</p>
    <p style="color: #00ffff; margin-top: 10px; font-weight: bold; font-size: 0.8em;">
    7H48 - 7H50 : Samedi, Dimanche
</p>
</div>
    </div>
</div>
        
        <!-- Histoire de l'émission -->
        <div style="padding: 20px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">L'Histoire de "La revue de presse des hebdos"</h2>
    <p style="color: #ffffff; line-height: 1.6; text-align: center;">
        "La revue de presse des hebdos" est une chronique emblématique d'Europe 1 Matin week-end. Ce rendez-vous hebdomadaire propose une analyse pointue et détaillée de la presse hebdomadaire française, offrant aux auditeurs un panorama complet des grands sujets qui font l'actualité.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        Chaque samedi et dimanche, entre 7h48 et 7h50, la chronique décrypte les unes et les articles majeurs des magazines d'actualité. Elle met en lumière les différents angles d'approche, les analyses et les points de vue développés par les hebdomadaires, permettant ainsi aux auditeurs de comprendre les enjeux essentiels de l'actualité sous différents prismes.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        La chronique s'est imposée comme une référence dans le paysage médiatique français grâce à sa capacité à synthétiser et à mettre en perspective les informations essentielles de la semaine. Avec une approche rigoureuse et équilibrée, elle permet aux auditeurs d'avoir une vision claire et complète des sujets qui agitent la société, tout en comprenant les différentes positions éditoriales des grands titres de la presse hebdomadaire française.
    </p>
    <div style="margin-top: 30px;">
        <img decoding="async" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRy6GsGco4zMgYRUzWQ13d6C5kmXZ-yaoSWyQ&amp;s" alt="Le Studio des Légendes sur Europe 1" style="width: 96%; max-width: 360px; height: auto; border-radius: 15px; object-fit: cover;">
    </div>
</div>

        <!-- Biographie de Laurent Ruquier -->
        <div style="display: flex; flex-direction: column; align-items: center; gap: 20px;">
    <div style="width: 200px; height: 200px; border-radius: 50%; overflow: hidden; border: 3px solid #00ffff;">
        <img decoding="async" src="https://pbs.twimg.com/profile_images/1573031027018272774/BYPELXnF_400x400.jpg" alt="Portrait de l'animatrice, style professionnel" style="width: 100%; height: 100%; object-fit: cover;">
    </div>
    <div style="text-align: center;">
        <h2 style="color: #00ffff; margin-bottom: 20px;">Lenaïg Monier - Une voix matinale dynamique sur Europe 1</h2>
        <p style="color: #ffffff; line-height: 1.8;">
Lenaïg Monier anime avec enthousiasme et professionnalisme l'émission Europe 1 Matin Week-end. Cette journaliste talentueuse apporte chaque samedi et dimanche une énergie contagieuse aux auditeurs qui démarrent leur week-end.

Au micro d'Europe 1, Lenaïg Monier excelle dans l'art de rendre l'information accessible et dynamique. Sa capacité à alterner entre sujets sérieux et moments plus légers fait d'elle une animatrice particulièrement appréciée des auditeurs matinaux du week-end.

Dans sa revue de presse des hebdos, elle démontre une expertise précieuse dans l'analyse et la synthèse de l'actualité. Avec clarté et pertinence, elle guide les auditeurs à travers les grands sujets traités par la presse hebdomadaire, offrant un décryptage intelligent et nuancé de l'information.

Son style direct et sa bonne humeur communicative ont contribué à faire d'Europe 1 Matin Week-end un rendez-vous incontournable pour tous ceux qui souhaitent rester informés tout en démarrant leur week-end sur une note positive. Sa présentation dynamique et son professionnalisme en font une voix essentielle de la matinale d'Europe 1.
        </p>
    </div>
</div>

        <!-- Sources (span across both columns) -->
        <div style="grid-column: 1 / -1; margin-top: 20px; padding: 15px; background: rgba(0, 0, 0, 0.2); border-radius: 10px; text-align: center;">
    <h3 style="color: #00ffff; margin-bottom: 10px; font-size: 1.2em;">Sources :</h3>
    <ul style="list-style: none; padding: 0; text-align: center; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
        <li>
            <a href="https://www.europe1.fr/animateurs/lenaig-monier" target="_blank" style="color: #00ffff; text-decoration: none; transition: all 0.3s; padding: 5px 10px; border-radius: 5px; display: inline-block; &amp;:hover { background: rgba(0, 255, 255, 0.1); transform: translateY(-2px); box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); }">• Europe 1 - Page officielle de Lénaïg Monier</a>
        </li>
    </ul>
</div>
    </div>
</div>

</div>

    <div id="player-modal" class="modal">
        <div class="modal-content">
    <span class="close" onclick="closeModal()">×</span>
    <div class="navigation-buttons">
        <button id="prev-episode" onclick="navigateEpisode('prev')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M15 18l-6-6 6-6"></path>
            </svg>
        </button>
        <button id="next-episode" onclick="navigateEpisode('next')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M9 18l6-6-6-6"></path>
            </svg>
        </button>
    </div>
    <div id="player-content">
    <style>
        /* Styles existants */
        .modal-content {
            background-color: #1a1a1a;
            padding: 40px;
            border: 2px solid #00ffff;
            width: 90%;
            max-width: 500px;
            max-height: 90vh;
            border-radius: 20px;
            text-align: center;
            box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
            position: fixed; /* Changé de absolute à fixed */
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) !important; /* Ajout de !important */
            overflow-y: auto;
            color: white;
        }

        /* Change la couleur du timing en noir */
        audio::-webkit-media-controls-time-display {
            color: #000000 !important;
        }

        /* Ajout de media queries pour le mobile */
        @media (max-width: 768px) {
            .modal-content {
                padding: 30px;
                width: 95%;
                margin: 0 auto;
                position: fixed;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%) !important;
            }
        }

        @media (max-height: 600px) {
            .modal-content {
                max-height: 85vh;
            }
        }
    </style>
</div>
    <button id="chromecast-button" onclick="startChromecast()" style="width: 60px; height: 60px; border-radius: 50%; padding: 0; background-image: url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png'); background-size: 35px; background-position: center; background-repeat: no-repeat; font-size: 0;"></button>
</div>
    </div>

    <div id="fixed-player-bar" class="rtl-podcast-player" style="display: none;">
    <div class="fixed-player-content">
        <h3 id="fixed-player-title"></h3>
        <div class="audio-controls-container" style="display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%; max-width: 800px; margin: 0 auto;">
            <audio id="fixed-player-audio" controls="">
                <source src="" type="audio/mpeg">
            </audio>
            <button onclick="startChromecast()" style="width: 40px; height: 40px; min-width: 40px; border-radius: 50%; padding: 0; background: #ffffff url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png') center/25px no-repeat; border: 2px solid #00ffff; font-size: 0; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">Cast to Chromecast</button>
            <button id="close-fixed-player" onclick="closeFixedPlayer()" style="background: none; border: none; color: #00ffff; font-size: 24px; cursor: pointer; padding: 5px; min-width: 24px; display: flex; align-items: center; justify-content: center;">×</button>
        </div>
    </div>
</div>

    <script>
    (function RTLPodcastPlayer() {
        // Initialize cast api
        window.__onGCastApiAvailable = function(isAvailable) {
            if (!isAvailable) return;

            const initializeCastApi = function() {
                const sessionRequest = new chrome.cast.SessionRequest(chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);
                const apiConfig = new chrome.cast.ApiConfig(
                    sessionRequest,
                    sessionListener,
                    receiverListener
                );
                chrome.cast.initialize(apiConfig, onInitSuccess, onError);
            };

            const sessionListener = function(session) {
                console.log('Session listener', session);
            };

            const receiverListener = function(availability) {
                console.log('Receiver listener', availability);
            };

            const onInitSuccess = function() {
                console.log('Cast initialization success');
            };

            const onError = function(error) {
                console.error('Cast initialization error', error);
            };

            if (!chrome.cast || !chrome.cast.isAvailable) {
                setTimeout(initializeCastApi, 1000);
            } else {
                initializeCastApi();
            }
        };

        const rssUrl = "https://www.europe1.fr/rss/podcasts/la-revue-de-presse-des-hebdos.xml";
        const proxyUrl = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(rssUrl)}&api_key=int3lqiwwrpnsvem6yki0mtwki2f4qcvcxtrlyea&count=50`;
        const episodesPerPage = 4;
        let currentPage = 1;
        let currentAudioUrl = '';
        let totalPages = 0;

        // Ajouter ces variables au début du script
        let currentEpisodeIndex = 0;
        let allEpisodes = [];
        let filteredEpisodes = [];

        fetch(proxyUrl)
            .then(response => response.json())
            .then(data => {
                if (data.status !== "ok") {
                    throw new Error("Erreur de chargement du flux RSS.");
                }
                allEpisodes = data.items;
                filteredEpisodes = [...allEpisodes];
                displayFeaturedEpisode(allEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(allEpisodes);
            })
            .catch(error => {
                document.getElementById("featured-episode").innerHTML = "<p>Impossible de charger le flux RSS. Veuillez réessayer plus tard.</p>";
            });

        function truncateDescription(description, maxLength = 180) {
    // Crée un élément temporaire pour décoder les entités HTML
    const tempElement = document.createElement("div");
    tempElement.innerHTML = description;
    
    // Récupère le texte brut de la description
    let plainText = tempElement.innerText || tempElement.textContent || '';

    // Tronque le texte si nécessaire
    if (plainText.length <= maxLength) return plainText.trim();
    return plainText.substring(0, maxLength).trim() + '...';
}

function displayFeaturedEpisode(episode) {
    const featuredEpisode = document.getElementById("featured-episode");
    
    // Créer le HTML pour les deux premières émissions
    featuredEpisode.innerHTML = `
    <div class="features-episode" style="width: 100%; height: 100%;">
        <!-- Première carte (dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[0].enclosure.link)}', '${sanitizeString(allEpisodes[0].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[0].title)}</h3>
            ${allEpisodes[0].thumbnail ? `<img decoding="async" src="${allEpisodes[0].thumbnail}" alt="Image de la dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[0].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[0].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
        
        <!-- Deuxième carte (avant-dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[1].enclosure.link)}', '${sanitizeString(allEpisodes[1].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[1].title)}</h3>
            ${allEpisodes[1].thumbnail ? `<img decoding="async" src="${allEpisodes[1].thumbnail}" alt="Image de l'avant-dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[1].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[1].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
    </div>
    `;
}

function displayEpisodes(page, episodes) {
    const episodeGrid = document.getElementById("episode-grid");
    episodeGrid.innerHTML = "";
    const episodesWithoutFeatured = episodes.slice(2);
    const start = (page - 1) * episodesPerPage;  
    const end = start + episodesPerPage;
    
    episodesWithoutFeatured.slice(start, end).forEach(item => {
        // IMPORTANT : Encode les titres pour éviter les problèmes avec les apostrophes
        const encodedTitle = encodeURIComponent(item.title);
        const encodedUrl = encodeURIComponent(item.enclosure.link);
        
        episodeGrid.innerHTML += `
    <div class="episode">
        <h5 style="color: #00ffff;">${sanitizeString(item.title)}</h5>
        ${item.thumbnail ? `<img decoding="async" src="${item.thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 150px;">` : ""}
        <div class="description" style="color: white;">${truncateDescription(item.description)}</div>
        <div class="date-badge">
            ${new Date(item.pubDate).toLocaleDateString('fr-FR', {
                day: '2-digit',
                month: '2-digit',
                year: '2-digit'
            })}
        </div>
        <button onclick="openModal('${sanitizeString(item.enclosure.link)}', '${sanitizeString(item.title)}')"></button>
    </div>
`;
    });
    updatePaginationButtons();
}

        function setupPagination(episodes) {
    // Soustrait les 2 épisodes featured au lieu d'un seul
    totalPages = Math.ceil((episodes.length - 2) / episodesPerPage);
    const pageNumbers = document.getElementById("page-numbers");
    pageNumbers.innerHTML = "";

    // Calcule quels numéros afficher
    let start = currentPage;
    if (currentPage === totalPages) {
        start = totalPages - 2;
    } else if (currentPage === 1) {
        start = 1;
    } else {
        start = currentPage - 1;
    }

    // S'assure que start n'est jamais inférieur à 1
    start = Math.max(1, start);
    
    // Affiche 3 boutons à partir de start
    for (let i = start; i < start + 3 && i <= totalPages; i++) {
        const button = document.createElement("button");
        button.textContent = i;
        button.addEventListener("click", () => {
            currentPage = i;
            displayEpisodes(currentPage, episodes);
            setupPagination(episodes); // Important : rafraîchit la pagination
        });
        pageNumbers.appendChild(button);
    }

    // Réactive la fonctionnalité des boutons précédent/suivant
    window.changePage = function(direction) {
        if (direction === 'prev' && currentPage > 1) {
            currentPage--;
        } else if (direction === 'next' && currentPage < totalPages) {
            currentPage++;
        }
        displayEpisodes(currentPage, filteredEpisodes);
        setupPagination(episodes); // Rafraîchit la pagination
        updatePaginationButtons();
    }

    updatePaginationButtons();
}

        function updatePaginationButtons() {
            const prevBtn = document.getElementById('prev-btn');
            const nextBtn = document.getElementById('next-btn');
            
            prevBtn.disabled = currentPage === 1;
            nextBtn.disabled = currentPage === totalPages;
            
            prevBtn.style.opacity = currentPage === 1 ? '0.5' : '1';
            nextBtn.style.opacity = currentPage === totalPages ? '0.5' : '1';
            
            const pageButtons = document.querySelectorAll('#page-numbers button');
            pageButtons.forEach((button, index) => {
                if (index + 1 === currentPage) {
                    button.style.backgroundColor = '#00ffff';
                    button.style.color = '#000';
                } else {
                    button.style.backgroundColor = '#1a1a1a';
                    button.style.color = '#00ffff';
                }
            });
        }

        window.openModal = function(audioUrl, title) {
            const playerContent = document.getElementById("player-content");
            
            // Find the episode data from allEpisodes based on the audioUrl
            const currentEpisode = allEpisodes.find(ep => ep.enclosure.link === audioUrl);
            
            // Get the thumbnail from the episode data directly
            const thumbnail = currentEpisode?.thumbnail;

            // Trouve l'index de l'épisode actuel
            currentEpisodeIndex = allEpisodes.findIndex(ep => ep.enclosure.link === audioUrl);
            
            playerContent.innerHTML = `
                <h2>${title}</h2>
                ${thumbnail ? `<img decoding="async" src="${thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 300px; margin: 15px 0;">` : ''}
                <audio controls style="width: 100%; margin-top: 10px;" id="modal-audio">
                    <source src="${audioUrl}" type="audio/mpeg">
                    Votre navigateur ne supporte pas la lecture audio.
                </audio>
            `;
            
            // Mise à jour de la visibilité des boutons de navigation
            updateNavigationButtons();
            
            currentAudioUrl = audioUrl;
            document.getElementById("player-modal").style.display = "block";
            
            // Store current title for fixed player
            window.currentEpisodeTitle = title;
            
            // Setup audio element for fixed player
            const modalAudio = document.getElementById('modal-audio');
            modalAudio.addEventListener('play', () => {
                window.isPlaying = true;
            });
            modalAudio.addEventListener('pause', () => {
                window.isPlaying = false;
            });
        }

    window.navigateEpisode = function(direction) {
        let newIndex = direction === 'prev' ? currentEpisodeIndex - 1 : currentEpisodeIndex + 1;
        
        if (newIndex >= 0 && newIndex < allEpisodes.length) {
            const episode = allEpisodes[newIndex];
            openModal(episode.enclosure.link, episode.title);
        }
    }

      function sanitizeString(str) {
    return str.replace(/['"\\<>]/g, "");
}


    function updateNavigationButtons() {
        const prevButton = document.getElementById('prev-episode');
        const nextButton = document.getElementById('next-episode');
        
        prevButton.style.display = currentEpisodeIndex === 0 ? 'none' : 'flex';
        nextButton.style.display = currentEpisodeIndex === allEpisodes.length - 1 ? 'none' : 'flex';
    }

        window.closeModal = function() {
            const modalAudio = document.getElementById('modal-audio');
            const fixedPlayerBar = document.getElementById('fixed-player-bar');
            const fixedPlayerAudio = document.getElementById('fixed-player-audio');
            const fixedPlayerTitle = document.getElementById('fixed-player-title');
            
            if (window.isPlaying) {
                // Pause modal audio first
                modalAudio.pause();
                
                // Set up fixed player
                fixedPlayerBar.style.display = 'block';
                fixedPlayerTitle.textContent = window.currentEpisodeTitle;
                fixedPlayerAudio.src = currentAudioUrl;
                fixedPlayerAudio.currentTime = modalAudio.currentTime;
                fixedPlayerAudio.play();
            }
            
            document.getElementById("player-modal").style.display = "none";
        }

    // Add close fixed player function
    window.closeFixedPlayer = function() {
        const fixedPlayerBar = document.getElementById('fixed-player-bar');
        const fixedPlayerAudio = document.getElementById('fixed-player-audio');
        fixedPlayerAudio.pause();
        fixedPlayerBar.style.display = 'none';
    }

        window.startChromecast = function() {
            if (!chrome.cast || !chrome.cast.isAvailable) {
                console.log('Cast API not available');
                return;
            }

            chrome.cast.requestSession(
                function(session) {
                    if (currentAudioUrl) {
                        const mediaInfo = new chrome.cast.media.MediaInfo(currentAudioUrl, 'audio/mpeg');
                        mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();
                        mediaInfo.metadata.title = document.querySelector('#player-content h2').textContent;

                        const request = new chrome.cast.media.LoadRequest(mediaInfo);
                        session.loadMedia(request).then(
                            () => console.log('Lecture Chromecast démarrée'),
                            errorCode => console.error('Erreur Chromecast: ' + errorCode)
                        );
                    }
                },
                function(error) {
                    console.error('Erreur lors de la création de la session:', error);
                }
            );
        }

        window.shareOnX = function() {
            const text = "Écoutez les podcasts : Il n'y a pas qu'une vie dans la vie d'Isabelle Morizet d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(text)}&url=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnWhatsapp = function() {
            const text = "Écoutez les podcasts : Il n'y a pas qu'une vie dans la vie d'Isabelle Morizet d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://wa.me/?text=${encodeURIComponent(text + ' ' + url)}`, '_blank');
        };

        window.shareOnFacebook = function() {
          const text = "Écoutez les podcasts : Il n'y a pas qu'une vie dans la vie d'Isabelle Morizet d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnLinkedIn = function() {
          const text = "Écoutez les podcasts : Il n'y a pas qu'une vie dans la vie d'Isabelle Morizet d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(url)}`, '_blank');
        };

        window.filterAndDisplayEpisodes = function() {
            const searchTerm = document.getElementById('podcast-search').value.toLowerCase();
            const filterValue = document.getElementById('podcast-filter').value;
            
            // Filter episodes based on search term
            filteredEpisodes = allEpisodes.filter(episode => 
                episode.title.toLowerCase().includes(searchTerm) || 
                episode.description.toLowerCase().includes(searchTerm)
            );
            
            // Sort episodes based on filter value
            if (filterValue === 'oldest') {
                filteredEpisodes.sort((a, b) => new Date(a.pubDate) - new Date(b.pubDate));
            } else {
                filteredEpisodes.sort((a, b) => new Date(b.pubDate) - new Date(a.pubDate));
            }
            
            // Reset pagination to first page when filtering
            currentPage = 1;
            
            // Update display
            if (filteredEpisodes.length > 0) {
                displayFeaturedEpisode(filteredEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(filteredEpisodes);
            } else {
                // Handle no results
                document.getElementById('episode-grid').innerHTML = '<p style="color: #fff; text-align: center; grid-column: 1/-1;">Aucun résultat trouvé</p>';
                document.getElementById('page-numbers').innerHTML = '';
            }
        }
    })();
</script>
</div>
</div></div></body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-9e9820f e-con-full e-flex e-con e-parent" data-id="9e9820f" data-element_type="container">
				<div class="elementor-element elementor-element-d4246d5 elementor-widget elementor-widget-html" data-id="d4246d5" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<html><head><base>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  <style>
    .rs-carousel-section {
      padding: 50px 0; 
      background: linear-gradient(45deg, #1a1a1a, #2c2c2c, #0e4d4d);
      background-size: 400% 400%;
      animation: rs-gradientBG 15s ease infinite;
      color: #ffffff;
      font-family: 'Roboto', sans-serif;
      min-height: flex; 
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .rs-title {
      color: #00ffff;
      text-align: center;
      margin: 2rem 0;
      font-size: 2rem;
      text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-container {
      max-width: auto;
      width: 100%;
      position: relative;
      padding: 50px 150px; 
      box-sizing: border-box;
      overflow: hidden;
      margin: 0 auto; 
    }

    .rs-carousel {
      display: flex;
      overflow: hidden;
      scroll-behavior: smooth;
      gap: 20px;
      padding: 20px 0 0 0;
      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .rs-radio-card {
      min-width: 250px;
      flex: 0 0 250px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 15px;
      text-align: center;
      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
      border: 2px solid #00ffff;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);
      position: relative;
      overflow: hidden;
      transform-origin: center center;
      padding: 20px 15px; /* Add consistent padding */
    }

    .rs-radio-card.rs-scrolling {
      transform: scale(0.95) rotate(-2deg);
    }

    .rs-radio-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(0, 255, 255, 0.1), transparent);
      transition: 0.5s;
    }

    .rs-radio-card:hover::before {
      left: 100%;
    }

    .rs-radio-card:hover {
      transform: translateY(-5px) scale(1.02);
      box-shadow: 0 10px 30px rgba(0, 255, 255, 0.3);
      z-index: 1;
    }

    .rs-radio-logo {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      margin-bottom: 1rem;
      border: 3px solid #00ffff;
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);
      transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      cursor: pointer; /* Add cursor pointer to indicate interactivity */
    }

    .rs-radio-logo:hover {
      transform: rotateY(180deg) scale(1.15);
      border-color: #ff00ff;
      box-shadow: 
        0 0 25px rgba(0, 255, 255, 0.5),
        0 0 50px rgba(255, 0, 255, 0.3);
      animation: logoGlow 1.5s infinite alternate;
    }

    @keyframes logoGlow {
      0% {
        box-shadow: 0 0 25px rgba(0, 255, 255, 0.5),
                    0 0 50px rgba(255, 0, 255, 0.3);
      }
      100% {
        box-shadow: 0 0 35px rgba(0, 255, 255, 0.8),
                    0 0 70px rgba(255, 0, 255, 0.6);
      }
    }

    .rs-radio-name {
      font-size: 1.2rem; /* Reduced from 1.5rem */
      margin: 15px 0;
      color: #00ffff;
      transition: all 0.3s ease;
      position: relative; /* Added */
    }

    /* Add hover state for radio name span elements */
    .rs-radio-name span:first-child {
      display: inline-block;
      transition: opacity 0.3s ease;
    }

    .rs-radio-name span:last-child {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      opacity: 0;
      transition: opacity 0.3s ease;
      width: 100%;
    }

    .rs-radio-card:hover .rs-radio-name span:first-child {
      opacity: 0;
    }

    .rs-radio-card:hover .rs-radio-name span:last-child {
      opacity: 1;
    }

    .rs-listen-button {
      position: relative; /* Add this */
      background: #00ffff;
      color: #000;
      width: 60px;
      height: 60px;
      border: none;
      border-radius: 50%;
      font-size: 1.5rem;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      text-decoration: none;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 1rem auto;
      overflow: hidden;
    }

    .rs-listen-button:hover {
      background: #00cccc;
      transform: scale(1.1) rotate(360deg);
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.6);
    }

    .rs-listen-button::before {
      content: "Voir la webradio";
      position: absolute;
      bottom: -30px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(0, 255, 255, 0.9);
      color: #000;
      padding: 5px 10px;
      border-radius: 4px;
      font-size: 12px;
      white-space: nowrap;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
    }

    .rs-listen-button:hover::before {
      opacity: 1;
      visibility: visible;
      bottom: -35px;
    }

    .rs-listen-button:hover i {
      animation: rs-colorChange 2s infinite;
    }

    @keyframes rs-colorChange {
      0% { color: #ff0000; }
      20% { color: #ff7700; }
      40% { color: #ffff00; }
      60% { color: #00ff00; }
      80% { color: #0000ff; }
      100% { color: #ff0000; }
    }

    .rs-listen-button::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle, transparent 30%, rgba(255, 255, 255, 0.3) 70%);
      animation: rs-pulseGlow 2s infinite;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-listen-button:hover::after {
      opacity: 1;
    }

    @keyframes rs-pulseGlow {
      0% {
        transform: scale(0.95);
        opacity: 0.5;
      }
      50% {
        transform: scale(1.1);
        opacity: 0.2;
      }
      100% {
        transform: scale(0.95);
        opacity: 0.5;
      }
    }

    .rs-carousel-button {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0, 255, 255, 0.2);
      border: none;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #00ffff;
      font-size: 1.5rem;
      transition: all 0.3s ease;
      z-index: 2;
      overflow: hidden; /* Add this for ripple effect */
    }

    .rs-carousel-button:hover {
      background: rgba(0, 255, 255, 0.2);
      transform: translateY(-50%) scale(1.1);
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-button::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle at center, rgba(0, 255, 255, 0.8) 0%, transparent 70%);
      transform: scale(0);
      opacity: 0;
      transition: transform 0.5s ease-out, opacity 0.3s ease;
    }

    .rs-carousel-button:hover::before {
      transform: scale(2);
      opacity: 0.3;
    }

    .rs-carousel-button:hover i {
      animation: arrowBounce 0.5s ease infinite alternate;
    }

    @keyframes arrowBounce {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(3px);
      }
    }

    .rs-carousel-button.rs-prev:hover i {
      animation: arrowBounceLeft 0.5s ease infinite alternate;
    }

    @keyframes arrowBounceLeft {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(-3px);
      }
    }

    .rs-carousel-button.rs-prev {
      left: 0;
    }

    .rs-carousel-button.rs-next {
      right: 0;
    }

    @keyframes rs-floatingNotesCard {
      0% {
        opacity: 0;
        transform: translate(0, 0) rotate(0deg);
      }
      50% {
        opacity: 1;
      }
      100% {
        opacity: 0;
        transform: translate(-50px, -50px) rotate(360deg);
      }
    }

    .rs-card-notes {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-radio-card:hover .rs-card-notes {
      opacity: 1;
    }

    .rs-card-note {
      position: absolute;
      font-size: 20px;
      color: #00ffff;
      animation: rs-floatingNotesCard 2s ease-out infinite;
    }

    .rs-card-note-1 { top: 10%; left: 10%; animation-delay: 0s; }
    .rs-card-note-2 { top: 5%; left: 30%; animation-delay: 0.3s; }
    .rs-card-note-3 { top: 15%; left: 50%; animation-delay: 0.6s; }
    .rs-card-note-4 { top: 8%; left: 70%; animation-delay: 0.9s; }
    .rs-card-note-5 { top: 12%; left: 90%; animation-delay: 1.2s; }

    .rs-radio-tag {
      position: absolute;
      top: 10px;
      right: 10px;
      padding: 5px 12px;
      font-size: 0.8rem;
      border-radius: 15px;
      background: rgba(0, 0, 0, 0.7);
      color: #fff;
      border: 1px solid #00ffff;
      box-shadow: 0 0 5px #00ffff,
                  inset 0 0 5px #00ffff;
      text-transform: uppercase;
      letter-spacing: 1px;
      transition: all 0.3s ease;
      transform-style: preserve-3d;
      perspective: 1000px;
      cursor: pointer;
    }
    
    .rs-radio-tag i {
      margin-right: 5px;
      color: #00ffff;
      text-shadow: 0 0 5px #00ffff,
                   0 0 10px #00ffff,
                   0 0 15px #00ffff;
    }

    /* Add hover effects */
    .rs-radio-tag:hover {
      transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      box-shadow: 0 0 15px #00ffff,
                  inset 0 0 10px #00ffff,
                  0 10px 20px rgba(0, 255, 255, 0.4);
      background: rgba(0, 255, 255, 0.1);
      letter-spacing: 2px;
      animation: tagFloat 1s ease-in-out infinite alternate;
    }

    /* Add new keyframe animation */
    @keyframes tagFloat {
      0% {
        transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      }
      100% {
        transform: translateZ(30px) rotateX(15deg) rotateY(-15deg);
        text-shadow: 2px 2px 4px rgba(0, 255, 255, 0.6);
      }
    }

    /* Add before/after elements for 3D effect */
    .rs-radio-tag::before {
      content: '';
      position: absolute;
      inset: -2px;
      background: linear-gradient(45deg, transparent, rgba(0, 255, 255, 0.3), transparent);
      transform: translateZ(-1px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag::after {
      content: '';
      position: absolute;
      inset: -1px;
      background: linear-gradient(-45deg, transparent, rgba(0, 255, 255, 0.2), transparent);
      transform: translateZ(-2px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag:hover::before,
    .rs-radio-tag:hover::after {
      opacity: 1;
    }

    @keyframes rs-floatingNotes {
      0% {
        transform: translateY(0) rotate(0deg) scale(1);
        opacity: 0;
      }
      50% {
        transform: translateY(-20px) rotate(180deg) scale(1.2);
        opacity: 1;
      }
      100% {
        transform: translateY(-40px) rotate(360deg) scale(1);
        opacity: 0;
      }
    }

    @media (max-width: 768px) {
      .rs-carousel-section {
        padding: 30px 0;
      }
      .rs-carousel-container {
        padding: 15px 20px; 
      }
      .rs-radio-card {
        min-width: 250px !important; /* Reduced by 20% from original 312.5px */
        flex: 0 0 250px !important; /* Reduced by 20% from original 312.5px */
      }
      /* Content size reductions */
      .rs-radio-logo {
        width: 84px !important;
        height: 84px !important;
      }
      .rs-radio-name {
        font-size: 1rem !important;
      }
      .rs-listen-button {
        width: 48px;
        height: 48px;
      }
    }

    @media (max-width: 480px) {
      .rs-carousel-section {
        padding: 20px 0;
      }
      .rs-carousel-container {
        padding: 0 30px; 
      }
      .rs-radio-card {
        min-width: 200px !important; /* Further reduced by 20% from tablet size */
        flex: 0 0 200px !important; /* Further reduced by 20% from tablet size */
      }
      /* Further reduce content for smallest screens */
      .rs-radio-logo {
        width: 76px !important;
        height: 76px !important;
        margin: 8px auto 12px !important;
      }
      .rs-radio-name {
        font-size: 0.9rem !important;
      }
      .rs-listen-button {
        width: 40px;
        height: 40px;
      }
    }

    /* Add this CSS inside the existing <style> tag */
    .rs-all-podcasts-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 12px 24px;
      margin: 30px auto 20px;
      background: linear-gradient(45deg, #00ffff, #00cccc);
      border: none;
      border-radius: 25px;
      color: #000;
      font-size: 1rem;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.3s ease;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
      position: relative;
      overflow: hidden;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .rs-all-podcasts-btn:hover {
      transform: translateY(-2px) scale(1.05);
      box-shadow: 
        0 0 20px rgba(0, 255, 255, 0.5),
        0 0 40px rgba(0, 255, 255, 0.2);
    }

    .rs-all-podcasts-btn::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, transparent 65%);
      transform: scale(0);
      transition: transform 0.6s ease-out;
    }

    .rs-all-podcasts-btn:hover::before {
      transform: scale(1) rotate(45deg);
    }

    .rs-all-podcasts-btn i {
      font-size: 1.2rem;
      color: #000;
    }
  </style>
</head>
<body>
  <div class="rs-carousel-section" id="radiostreamr-carousel-section">
    <h2 class="rs-title" id="radiostreamr-title" style="font-size: 28px; animation: textGlow 2s infinite; text-shadow: 0 0 10px rgba(0, 255, 255, 0.5), 0 0 20px rgba(0, 255, 255, 0.3), 0 0 30px rgba(0, 255, 255, 0.2); position: relative; padding-left: 15px; padding-right: 15px;">
  Ecoutez les meilleurs podcasts de la chaine Europe 1 :
</h2>
    
    <div class="rs-carousel-container" id="radiostreamr-container">
      <button class="rs-carousel-button rs-prev" id="radiostreamr-prev-button">
        <i class="fas fa-chevron-left"></i>
      </button>
      
      <div class="rs-carousel" id="radiostreamr-carousel" style="gap: 25px;">

        <!-- Skyrock -->
        <div class="rs-radio-card" id="radiostreamr-card-hondelatte" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/hondelatte-raconte-podcast.webp" alt="Hondelatte raconte" class="rs-radio-logo" style="width: 105px; height: 105px; margin: 10px auto 15px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Histoire prenante</span>
          <h2 class="rs-radio-name">
            <span>Hondelatte raconte</span>
            <span>Podcasts Hondelatte raconte</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-hondelatte-raconte/" class="rs-listen-button" style="margin: 15px auto 10px;">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Oui FM -->
        <div class="rs-radio-card" id="radiostreamr-card-On-marche-sur-la-tête" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-podcast-on-marche-sur-la-tete-cyril-hanouna-radiostreamr.webp" alt="On marche sur la tête logo" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-laugh"></i>Humour</span>
          <h2 class="rs-radio-name">
            <span>On marche sur la tête</span>
            <span>Podcasts On marche sur la tête</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-on-marche-sur-la-tete/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- FIP -->
        <div class="rs-radio-card" id="radiostreamr-card-Europe-1-Matin" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-matin-podcast.webp" alt="FIP Radio" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Matin</span>
            <span>Podcasts Europe 1 Matin</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-matin/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
        
        <!-- Add after the FIP card and before RMC -->
        <div class="rs-radio-card" id="radiostreamr-card-le-grand-rendez-vous" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/0x1900-000000-80-0-0.webp" alt="Le grand rendez-vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Le Grand Rendez-vous</span>
            <span>Podcasts Le Grand Rendez-vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-le-grand-rendez-vous//" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-pascal-praud" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/pascal-praud-podcast.webp" alt="Pascal Praud et vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Pascal Praud et vous</span>
            <span>Podcasts Pascal Praud et vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-pascal-praud/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-cheriefm" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-logo-radio-en-ligne.webp" alt="Charlotte d'Ornellas - Les signatures d'Europe 1" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Chronique actualité</span>
          <h2 class="rs-radio-name">
            <span>Charlotte d'Ornellas</span>
            <span>Podcasts Charlotte d'Ornellas</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-chronique-charlotte-dornellas/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- La Libre Antenne -->
        <div class="rs-radio-card" id="radiostreamr-card-libre-antenne" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/libre-antenne.webp" alt="La Libre Antenne" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-comments"></i>Discussion</span>
          <h2 class="rs-radio-name">
            <span>La Libre Antenne</span>
            <span>Podcasts La Libre Antenne</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-olivier-delacroix/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Il n'y a qu'une vie dans la vie -->
        <div class="rs-radio-card" id="radiostreamr-card-isabelle-morizet" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/isabelle-morizet-podcast.webp" alt="Il n'y a qu'une vie dans la vie" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-friends"></i>Interview</span>
          <h2 class="rs-radio-name">
            <span>Il n'y a qu'une vie dans la vie</span>
            <span>Podcasts Isabelle Morizet</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-isabelle-morizet/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 Soir -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-soir" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-soir-podcasts.webp" alt="Europe 1 Soir" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Soir</span>
            <span>Podcasts Europe 1 Soir</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-soir/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 13h -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-13h" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-13h-podcast.webp" alt="Europe 1 13h" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 13h</span>
            <span>Podcasts Europe 1 13h</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-13h/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Le Studio des Légendes -->
        <div class="rs-radio-card" id="radiostreamr-card-studio-legendes" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/le-studio-des-legendes-podcast.webp" alt="Le Studio des Légendes" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-star"></i>Culture</span>
          <h2 class="rs-radio-name">
            <span>Le Studio des Légendes</span>
            <span>Podcasts Le Studio des Légendes</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-studio-des-legendes/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe Soir Week-end -->
        <div class="rs-radio-card" id="radiostreamr-card-europe-soir-weekend" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-soir-week-end-podcast.webp" alt="Europe Soir Week-end" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe Soir Week-end</span>
            <span>Podcasts Europe Soir Week-end</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe-soir-week-end/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- L'heure des Pros -->
        <div class="rs-radio-card" id="radiostreamr-card-heure-pros" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/lheure-des-pros-podcast.webp" alt="L'heure des Pros" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>L'heure des Pros</span>
            <span>Podcasts L'heure des Pros</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-lheure-des-pros/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les années Top 50 -->
        <div class="rs-radio-card" id="radiostreamr-card-top-50" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/les-annees-top-50-podcast-europe1-1.webp" alt="Les années Top 50" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Musique</span>
          <h2 class="rs-radio-name">
            <span>Les années Top 50</span>
            <span>Podcasts Les années Top 50</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-top-50/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Face à Philippe de Villiers -->
        <div class="rs-radio-card" id="radiostreamr-card-philippe-villiers" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/philippe-de-villiers-podcast-europe1.webp" alt="Face à Philippe de Villiers" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-tie"></i>Politique</span>
          <h2 class="rs-radio-name">
            <span>Face à Philippe de Villiers</span>
            <span>Podcasts Face à Philippe de Villiers</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-face-a-philippe-de-villiers/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les histoires d'amour extraordinaires -->
        <div class="rs-radio-card" id="radiostreamr-card-histoires-amour" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/sophie-davant-podcast.webp" alt="Les histoires d'amour extraordinaires" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-heart"></i>Romance</span>
          <h2 class="rs-radio-name">
            <span>Les histoires d'amour extraordinaires</span>
            <span>Podcasts Les histoires d'amour extraordinaires</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-histoires-damour-extraordinaires/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Au Coeur de l'Histoire -->
        <div class="rs-radio-card" id="radiostreamr-card-coeur-histoire" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/podcast-au-coeur-de-lhistoire.webp" alt="Au Coeur de l'Histoire" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-book-open"></i>Histoire</span>
          <h2 class="rs-radio-name">
            <span>Au Coeur de l'Histoire</span>
            <span>Podcasts Au Coeur de l'Histoire</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-au-coeur-de-lhistoire/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
      </div>

      <button class="rs-carousel-button rs-next" id="radiostreamr-next-button">
        <i class="fas fa-chevron-right"></i>
      </button>
    </div>
    <a href="https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/podcast-europe1" class="rs-all-podcasts-btn">
      <i class="fas fa-podcast"></i>
      Voir tous les podcasts
    </a>
  </div>

  <script>
    (function() {
      class RadioStreamrCarousel {
        constructor(selector) {
          this.container = document.querySelector(selector);
          this.carousel = this.container.querySelector('.rs-carousel');
          this.allCards = Array.from(this.container.querySelectorAll('.rs-radio-card')); // Store all cards
          this.prevButton = this.container.querySelector('.rs-carousel-button.rs-prev');

          // Select random 9 cards
          this.selectRandomCards();
          
          // Initialize properties after cards are selected
          this.cards = Array.from(this.container.querySelectorAll('.rs-radio-card'));
          this.currentIndex = 0;
          this.cardWidth = this.cards[0].offsetWidth + 20;
          this.cardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
          this.maxIndex = this.cards.length - this.cardsPerView;
          this.nextButton = this.container.querySelector('.rs-carousel-button.rs-next');

          this.init();
        }

        selectRandomCards() {
          // Remove all cards from carousel
          this.allCards.forEach(card => card.remove());

          // Randomly select 9 cards
          const shuffled = [...this.allCards].sort(() => 0.5 - Math.random());
          const selected = shuffled.slice(0, 14);
          
          // Add selected cards back to carousel
          selected.forEach(card => {
            this.carousel.appendChild(card);
          });
        }

        init() {
          this.bindEvents();
        }

        scrollToIndex(index) {
          // Handle infinite loop
          if (index < 0) {
            this.currentIndex = this.cards.length - this.cardsPerView;
          } else if (index > this.maxIndex) {
            this.currentIndex = 0;
          } else {
            this.currentIndex = index;
          }
          
          // Add scrolling class to cards
          this.cards.forEach(card => {
            card.classList.add('rs-scrolling');
            setTimeout(() => card.classList.remove('rs-scrolling'), 500);
          });

          // Scroll with animation
          this.carousel.scrollTo({
            left: this.currentIndex * this.cardWidth,
            behavior: 'smooth'
          });

          // Create floating notes effect
          const notes = ['♪', '♫', '♬'];
          for(let i = 0; i < 3; i++) {
            const note = document.createElement('span');
            note.textContent = notes[Math.floor(Math.random() * notes.length)];
            note.style.cssText = `
              position: absolute;
              color: #00ffff;
              font-size: 24px;
              top: ${50 + Math.random() * 100}px;
              left: ${50 + Math.random() * (this.carousel.offsetWidth - 100)}px;
              animation: rs-floatingNotes 1s ease-out ${i * 0.2}s forwards;
              pointer-events: none;
            `;
            this.carousel.appendChild(note);
            setTimeout(() => note.remove(), 1000 + i * 200);
          }
        }

        bindEvents() {
          this.prevButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex - 1));
          this.nextButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex + 1));

          window.addEventListener('resize', () => {
            const newCardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
            const newMaxIndex = this.cards.length - newCardsPerView;
            this.currentIndex = Math.min(this.currentIndex, newMaxIndex);
            this.scrollToIndex(this.currentIndex);
          });
        }
      }

      document.addEventListener('DOMContentLoaded', function() {
        new RadioStreamrCarousel('.rs-carousel-section');
      });
    })();
  </script>
</body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-0d0797d e-con-full e-flex e-con e-parent" data-id="0d0797d" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
				<div class="elementor-element elementor-element-9260360 elementor-widget elementor-widget-shortcode" data-id="9260360" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"></div>
						</div>
				</div>
				</div>
				</div>
		<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-revue-de-presse-des-hebdos/">🗣️ Podcast et Replay &#8211; La revue de presse des hebdos  &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://radiostreamr.com/radio-france/podcast-revue-de-presse-des-hebdos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🗣️ Podcast et Replay &#8211; Balades en France de William Leymergie  &#8211; Europe 1</title>
		<link>https://radiostreamr.com/radio-france/podcast-balades-en-france/</link>
					<comments>https://radiostreamr.com/radio-france/podcast-balades-en-france/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 10 Nov 2024 10:29:44 +0000</pubDate>
				<category><![CDATA[Europe 1]]></category>
		<category><![CDATA[Podcast]]></category>
		<guid isPermaLink="false">https://radiostreamr.com/radio-france/?p=1029</guid>

					<description><![CDATA[<p>Balades en France avec William Leymergie &#8211; Écoutez en rediffusion tous les podcasts Europe 1 Plus récentsPlus anciens Publicité Balades en France avec William Leymergie &#8211; Un voyage radiophonique au cœur de nos régions Voir leur Facebook Voir leur Instagram Voir leur site web Chaque samedi et dimanche, William Leymergie emmène les auditeurs à la [&#8230;]</p>
<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-balades-en-france/">🗣️ Podcast et Replay &#8211; Balades en France de William Leymergie  &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="1029" class="elementor elementor-1029" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-dce457e e-con-full e-flex e-con e-parent" data-id="dce457e" data-element_type="container">
				<div class="elementor-element elementor-element-9f9be1c 1995 elementor-widget elementor-widget-html" data-id="9f9be1c" data-element_type="widget" id="1995" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<!DOCTYPE html><html><head><meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&amp;display=swap" rel="stylesheet">
<style>
    .rtl-podcast-player * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Roboto', sans-serif;
    }

  .rtl-podcast-player #pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
}

@keyframes gradientBG {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.rtl-podcast-player body {
    background: linear-gradient(-45deg, #0a192f, #172a45, #1a365d, #102235);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    min-height: 100vh;
    display: flex;
    align-items: center;
    color: #fff;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

    .rtl-podcast-player .container {
        display: grid;
        grid-template-columns: 1.2fr 2.8fr;
        gap: 20px;
        margin: 0 auto;
        padding: 50px 150px !important;
        width: 100%;
        background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
        background-size: 400% 400%;
        animation: gradientBG 15s ease infinite;
        border-radius: 0;
        box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);
    }


    @media (max-width: 1024px) {
        .rtl-podcast-player .container {
            padding: 30px 45px;
            grid-template-columns: 1fr 2fr;
        }
        
        .rtl-podcast-player h1 {
            font-size: 2em;
        }
    }


    @media (max-width: 768px) {
        .rtl-podcast-player .container {
            padding: 20px !important; /* Override padding */
            margin: 0 !important; /* Reset margin */
            width: 100% !important;
            max-width: 100% !important;
            grid-template-columns: 1fr;
            overflow-x: hidden; /* Prevent horizontal scroll */
        }
        
        .rtl-podcast-player #episode-grid,
        .rtl-podcast-player .episode,
        .rtl-podcast-player #featured-episode,
        .rtl-podcast-player .host-biography,
        .rtl-podcast-player .social-share-buttons {
            width: 100% !important;
            margin-left: auto !important;
            margin-right: auto !important;
            padding: 15px !important;
        }
        
        .rtl-podcast-player h1,
        .rtl-podcast-player h2,
        .rtl-podcast-player p {
            padding-left: 10px !important;
            padding-right: 10px !important;
            text-align: center;
        }

        .rtl-podcast-player #episode-grid {
            grid-template-columns: 1fr !important; /* Force single column */
            gap: 20px;
        }
        
        .rtl-podcast-player .episode {
            width: 100% !important;
            margin: 0 auto !important;
        }
    }


@media (max-width: 480px) {
    .rtl-podcast-player .container {
        padding: 10px !important;
    }
    
    .rtl-podcast-player #featured-episode,
    .rtl-podcast-player .episode {
        padding: 15px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }
}

.rtl-podcast-player h1 {
    color: #00ffff;
    text-align: center;
    font-size: 2.3em;
    margin-bottom: 40px;
    font-weight: 700;
    width: 100%;
    grid-column: 1 / -1;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.3);
}

  #fixed-player-bar {
        display: flex;               /* Assure l'affichage en flex */
        flex-direction: column;       /* Organisation en colonne */
        align-items: center;          /* Centre les éléments */
        padding: 10px;
        gap: 10px;                    /* Espace entre chaque ligne */
        background: rgba(26, 26, 26, 0.95); /* Conserve l’arrière-plan */
        display: none;                /* Masqué par défaut */
    }

    /* Ligne 1 : Titre de l'épisode */
    #fixed-player-title {
        display: block;               /* Force l'affichage sur une ligne complète */
        text-align: center;
        font-size: 1.2em;
        color: #00ffff;
        width: 100%;                  /* Prend la largeur complète */
    }

    /* Ligne 2 : Player audio */
    #fixed-player-audio {
        display: block;               /* Force l'affichage sur une ligne complète */
        width: 100%;
    }

    /* Ligne 3 : Conteneur pour les boutons Chromecast et fermeture */
    .audio-controls-container {
        display: flex;
        justify-content: center;
        gap: 20px;
        width: 100%;                  /* Assure une disposition sur toute la largeur */
    }

    /* Styles des boutons */
    #chromecast-button, #close-fixed-player {
        width: 40px;
        height: 40px;
        border: none;
        cursor: pointer;
    }
}

  @media (max-width: 768px) {
    .rtl-podcast-player h1 {
        margin-top: 0px !important; /* Ajustez la valeur selon vos besoins */
    }
}
  
.rtl-podcast-player #featured-episode {
    /* Remplacer ces styles */
    display: flex;
    flex-direction: column;
    height: 100%; /* Ajout de cette ligne */
    padding: 30px;
    border-radius: 15px;
    background-color: transparent;
    color: #ffffff;
    transition: all 0.3s ease;
}

.rtl-podcast-player #featured-episode:hover {
    transform: translateY(-5px);
}

.rtl-podcast-player #featured-episode h3 {
    color: #00ffff;
    margin-bottom: 15px;
    font-weight: 500;
}

.rtl-podcast-player #featured-episode button, .rtl-podcast-player .episode button {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    padding: 0;
    background-image: url('https://static.vecteezy.com/system/resources/thumbnails/017/196/540/small/3d-play-button-icon-transparent-background-free-png.png');
    background-size: 35px;
    background-position: center;
    background-repeat: no-repeat;
    font-size: 0;
    position: relative;
}

    .rtl-podcast-player .date-badge {
        background: rgba(0, 255, 255, 0.1);
        border: 2px solid #00ffff;
        border-radius: 8px;
        padding: 8px 15px;
        color: #00ffff;
        font-weight: bold;
        text-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
        box-shadow: 
            0 0 5px rgba(0, 255, 255, 0.2),
            0 0 10px rgba(0, 255, 255, 0.2),
            0 0 15px rgba(0, 255, 255, 0.2),
            0 0 20px rgba(0, 255, 255, 0.2);
        animation: neonPulse 1.5s ease-in-out infinite;
        margin: 15px auto 20px auto; /* Increased bottom margin */
        display: block; /* Changed from inline-block to block */
        width: fit-content;
    }

    @keyframes neonPulse {
        0%, 100% {
            box-shadow: 
                0 0 5px rgba(0, 255, 255, 0.2),
                0 0 10px rgba(0, 255, 255, 0.2),
                0 0 15px rgba(0, 255, 255, 0.2),
                0 0 20px rgba(0, 255, 255, 0.2);
        }
        50% {
            box-shadow: 
                0 0 10px rgba(0, 255, 255, 0.4),
                0 0 20px rgba(0, 255, 255, 0.4),
                0 0 30px rgba(0, 255, 255, 0.4),
                0 0 40px rgba(0, 255, 255, 0.4);
        }
    }


.rtl-podcast-player #featured-episode img,
.rtl-podcast-player .episode img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .modal-content img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .episode button:hover::after,
.rtl-podcast-player #featured-episode button:hover::after {
    content: "Ecouter ce podcast";
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap;
    z-index: 1000;
}

.rtl-podcast-player #featured-episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #episode-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

    .rtl-podcast-player .episode {
        padding: 20px;
        border-radius: 15px;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.1);
        text-align: center;
        background-color: #1a1a1a;
        transition: all 0.3s ease;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .rtl-podcast-player .episode p {
        color: #ffffff;
    }


.rtl-podcast-player .episode:hover {
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);
    transform: translateY(-3px);
}

.rtl-podcast-player .episode h5 {
    margin-bottom: 10px;
    color: #00ffff;
}

.rtl-podcast-player .episode a {
    color: #00ffff;
    text-decoration: none;
}

    .rtl-podcast-player .episode button:hover {
        background-color: #00cccc;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }
    
    .search-filter-container {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        margin-bottom: 30px;
        width: 100%;
    }

    .search-filter-container input,
    .search-filter-container select {
        padding: 10px 15px;
        border: 2px solid #00ffff;
        border-radius: 8px;
        background: rgba(0, 0, 0, 0.3);
        color: #fff;
        font-size: 16px;
        width: 200px;
    }

    .search-filter-container input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }

    .search-filter-container input:focus,
    .search-filter-container select:focus {
        outline: none;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
    }

    .search-filter-container select {
        cursor: pointer;
    }

    .search-filter-container select option {
        background-color: #1a1a1a;
        color: #fff;
    }

    @media (max-width: 768px) {
        .search-filter-container {
            flex-direction: column;
            gap: 10px;
        }

        .search-filter-container input,
        .search-filter-container select {
            width: 100%;
            max-width: 300px;
        }
    }

    color: #000;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-top: 10px; /* Add space above button */
    display: block; /* Ensure block-level display */
    margin-left: auto;
    margin-right: auto;
}

.rtl-podcast-player .episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player .pagination {
    text-align: center !important;
    margin-top: 30px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
}

  .rtl-podcast-player #page-numbers {
    display: flex !important;
    gap: 5px !important;
    margin: 0 5px !important;
}
  
.rtl-podcast-player .pagination button,
.rtl-podcast-player .pagination #prev-btn,
.rtl-podcast-player .pagination #next-btn {
    margin: 0 !important;  /* Changé de 5px à 0 */
    padding: 8px 16px;
    font-size: 1em;
    background-color: #1a1a1a;
    color: #00ffff;
    border: 1px solid #00ffff;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rtl-podcast-player .pagination button:hover {
    background-color: #00ffff;
    color: #000;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
}

.rtl-podcast-player .modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
}

.rtl-podcast-player .modal-content {
    background-color: #1a1a1a;
    padding: 40px;
    border: 2px solid #00ffff;
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: auto;
    color: white;
}

.rtl-podcast-player .close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: #00ffff;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
}

.rtl-podcast-player .close:hover {
    color: #00cccc;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #chromecast-button {
    background-color: #00ffff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    color: #000;
    margin-top: 20px;
    font-weight: bold;
    display: inline-block;
}

.rtl-podcast-player audio::-webkit-media-controls-panel {
    background-color: #2a2a2a;
}

.rtl-podcast-player audio::-webkit-media-controls-current-time-display,
.rtl-podcast-player audio::-webkit-media-controls-time-remaining-display {
    color: #000000;
}

.rtl-podcast-player #fixed-player-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(26, 26, 26, 0.95);
    backdrop-filter: blur(10px);
    padding: 10px 20px;
    z-index: 999;
    border-top: 2px solid #00ffff;
}

.rtl-podcast-player .fixed-player-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    gap: 20px;
}


.rtl-podcast-player #fixed-player-title {
    color: #00ffff;
    font-size: 1em;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.rtl-podcast-player #fixed-player-audio {
    flex: 2;
    max-width: 500px;
}

.episode-card {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(0, 255, 255, 0.3);
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.episode-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 255, 255, 0.2);
}

.episode-card img {
    width: 100%;
    max-width: 200px;
    border-radius: 10px;
    margin: 10px 0;
}

.episode-card button {
    margin-top: 10px;
}
  
/* Conserve les styles des boutons play et mute */
audio::-webkit-media-controls-play-button,
audio::-webkit-media-controls-mute-button {
    background-color: #40E0D0 !important; /* Bleu turquoise */
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
}

audio::-webkit-media-controls-play-button:hover,
audio::-webkit-media-controls-mute-button:hover {
    background-color: #5FECEC !important; /* Bleu turquoise plus clair au survol */
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5) !important;
}

/* Tentative pour changer la couleur du trait de progression */
audio::-webkit-media-controls-timeline {
    color: #a6a6a6 !important; /* Essaye de cibler le trait turquoise */
}

/* Modifie la couleur des trois petits points */
audio::-webkit-media-controls-panel {
    background-color: transparent !important; /* Assure que le fond ne prend pas de couleur */
    color: #40E0D0 !important; /* Forcer la couleur turquoise pour les trois points */
}

/* Tentative supplémentaire pour cibler le trait du curseur de progression */
audio::-webkit-slider-runnable-track {
    background-color: #40E0D0 !important; /* Bleu turquoise pour la piste */
}

audio::-webkit-slider-thumb {
    background-color: #a6a6a6 !important; /* Plus clair pour le curseur lui-même */
}


@media (max-width: 768px) {
    .rtl-podcast-player .fixed-player-content {
        flex-direction: column;
        gap: 10px;
        padding: 15px;
    }

    .rtl-podcast-player #fixed-player-audio {
        width: 100%;
        max-width: 100%;
    }

    .rtl-podcast-player #fixed-player-title {
        width: 100%;
        text-align: center;
        font-size: 0.9em;
    }
}

.rtl-podcast-player .social-button {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease-in-out;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.rtl-podcast-player .social-button:hover {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .rtl-podcast-player .social-share-buttons {
        gap: 10px;
    }
    
    .rtl-podcast-player .social-button {
        width: 40px;
        height: 40px;
    }
    
    .rtl-podcast-player .social-button svg {
        width: 20px;
        height: 20px;
    }
}

.navigation-buttons {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    pointer-events: none;
    z-index: 1000;
}

.nav-button {
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid #00ffff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    pointer-events: auto;
}  

.nav-button:hover {
    background: rgba(0, 255, 255, 0.2);
    transform: scale(1.1);
}

.nav-button svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 768px) {
    .nav-button {
        width: 35px;
        height: 35px;
    }
    
    .nav-button svg {
        width: 20px;
        height: 20px;
    }
}
</style>
<script type="text/javascript" src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js"></script>

</head><body>
<div class="rtl-podcast-player">
    <div class="container" style="background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    border-radius: 0; /* Changed from 20px to 0 */
    box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);">
    <h1 style="color: #00ffff; text-align: center; font-size: 2.1em; margin-bottom: 40px; font-weight: 700; width: 100%; grid-column: 1 / -1; text-shadow: 0 0 10px rgba(0, 255, 255, 0.3); padding: 0 15px; display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap;">
Balades en France avec William Leymergie - Écoutez en rediffusion tous les podcasts Europe 1
<img decoding="async" src="https://cdn-europe1.lanmedia.fr/var/europe1/storage/images/europe1/animateurs/europe-12/53472641-3-fre-FR/Europe-1.png" alt="Logo Europe 1" style="width: 60px; height: 60px; border-radius: 50%; padding: 5px; background: white; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);">
</h1>
    <div class="social-share-buttons" style="display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 30px; width: 100%; grid-column: 1 / -1;">
    <button onclick="shareOnX()" class="social-button" style="background-color: #000;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path>
        </svg>
    </button>
    <button onclick="shareOnWhatsapp()" class="social-button" style="background-color: #25D366;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"></path>
        </svg>
    </button>
    <button onclick="shareOnFacebook()" class="social-button" style="background-color: #1877F2;">  
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path>
        </svg>
    </button>
    <button onclick="shareOnLinkedIn()" class="social-button" style="background-color: #0A66C2;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path>
        </svg>
    </button>
</div>
      
    <div id="featured-episode" style="display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: space-between; gap: 20px; height: 100%; position: relative; padding-top: 20px; cursor: pointer;">
  <div class="features-episode" style="width: 100%; height: 100%;">
    <!-- Première carte (dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
            
    <!-- Deuxième carte (avant-dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
  </div>
</div>
    <div>
    <div class="search-filter-container">
        <input type="text" id="podcast-search" placeholder="Rechercher un podcast..." oninput="filterAndDisplayEpisodes()">
        <select id="podcast-filter" onchange="filterAndDisplayEpisodes()">
            <option value="newest">Plus récents</option>
            <option value="oldest">Plus anciens</option>
        </select>
    </div>
    <div id="episode-grid">
        <style>
            .episode {
                cursor: pointer;
            }
            
            .episode > * {
                pointer-events: none;
            }
            
            .episode button {
                pointer-events: auto;
            }
        </style>
    </div>
    <div class="pagination" id="pagination">
    <button id="prev-btn" onclick="changePage('prev')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M15 18l-6-6 6-6"></path>
        </svg>
    </button>
    <span id="page-numbers"></span>
    <button id="next-btn" onclick="changePage('next')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M9 18l6-6-6-6"></path>
        </svg>
    </button>
</div>

      <div class="ad-banner" style="width: 100%; max-width: 508px; margin: 20px auto; text-align: center; grid-column: 1 / -1; background: rgba(0,0,0,0.3); padding: 15px; border-radius: 10px; border: 1px solid rgba(0, 255, 255, 0.2); transition: transform 0.3s ease;">
    <p style="color: #666; font-size: 12px; margin-bottom: 10px;">Publicité</p>
    <a href="https://universal-academy.com/recruter-des-alternants-dans-le-tourisme/" target="_blank" style="display: inline-block;">
        <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/Design-sans-titre-2024-11-06T134332.299.webp" alt="Bannière publicitaire RTL" style="width: 100%; max-width: 700px; height: auto; border-radius: 8px; transition: transform 0.3s ease;" onmouseover="this.style.transform='scale(1.02)'" onmouseout="this.style.transform='scale(1)'">
    </a>
</div>

    <script>
        // Ajouter un event listener pour les cartes d'épisodes
        document.getElementById('episode-grid').addEventListener('click', (e) => {
            const episodeCard = e.target.closest('.episode');
            if (episodeCard) {
                // Trouver le bouton dans la carte et simuler un clic dessus
                const button = episodeCard.querySelector('button');
                if (button) {
                    button.click();
                }
            }
        });
    </script>
</div>
    
    <div class="host-biography" style="grid-column: 1 / -1; background: rgba(0, 0, 0, 0.3); padding: 30px; border-radius: 15px; margin-top: 30px; border: 1px solid rgba(0, 255, 255, 0.2);">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
        <!-- Media query pour passer en une colonne sur mobile -->
        <style>
            @media (max-width: 768px) {
                .host-biography > div {
                    grid-template-columns: 1fr !important;
                }
            }
        </style>

      <div class="host-biography" style="grid-column: 1 / -1; padding: 30px; border-radius: 15px; margin-top: 30px;">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
      <div style="grid-column: 1 / -1; margin-bottom: 30px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">Balades en France avec William Leymergie - Un voyage radiophonique au cœur de nos régions</h2>

    <!-- Nouveaux boutons de réseaux sociaux -->
    <div style="display: flex; justify-content: center; align-items: center; gap: 20px; margin: 20px 0;">
        <a href="https://www.facebook.com/Europe1/?locale=fr_FR" target="_blank" style="position: relative; width: 50px; height: 50px; background: #1877F2; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Facebook</span>
</a>

        <a href="https://www.instagram.com/europe1/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #E4405F; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Instagram</span>
</a>

        <a href="https://www.europe1.fr/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #00ffff; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#000000">
        <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur site web</span>
</a>
    </div>

    <style>
        /* Hover effects pour les boutons */
        .host-biography a:hover {
            transform: scale(1.1);
            box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
        }
        
        .host-biography a:hover span {
            opacity: 1;
        }

        /* Media queries pour le responsive */
        @media (max-width: 768px) {
            .host-biography div[style*="display: flex"] {
                flex-wrap: wrap;
                justify-content: center;
                gap: 15px;
            }
        }
    </style>

    <p style="color: #ffffff; line-height: 1.6; text-align: center; max-width: 1200px; margin: 0 auto;">
    Chaque samedi et dimanche, William Leymergie emmène les auditeurs à la découverte des plus beaux endroits de France dans son émission "Balades en France". Une véritable invitation au voyage à travers les régions françaises, leurs patrimoines, leurs traditions et leurs secrets. L'animateur chevronné partage sa passion pour les territoires en mettant en lumière les lieux emblématiques comme les coins méconnus qui font le charme de notre pays. Grâce à son style unique et sa connaissance approfondie du terrain, William Leymergie fait vivre aux auditeurs des moments privilégiés à la rencontre des acteurs locaux qui font vivre nos régions. Des châteaux de la Loire aux calanques marseillaises, des villages perchés de Provence aux côtes bretonnes, chaque émission est une nouvelle aventure qui permet de (re)découvrir la richesse et la diversité des paysages français. Un rendez-vous radiophonique qui donne envie de prendre la route et de partir à l'aventure sur les chemins de France.
</p>
    
    <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 30px; padding: 20px;">
        <!-- Les 6 cartes existantes restent inchangées -->
        <!-- Carte 1 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M3 18v-6a9 9 0 0 1 18 0v6"></path>
                <path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"></path>
            </svg>
            <p style="color: #ffffff; margin: 0;">Écouter gratuitement tous les podcasts en streaming</p>
        </div>

        <!-- Carte 2 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                <polyline points="7 10 12 15 17 10"></polyline>
                <line x1="12" y1="15" x2="12" y2="3"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Télécharger les épisodes pour une écoute hors-ligne</p>
        </div>

        <!-- Carte 3 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"></path>
                <line x1="2" y1="20" x2="2" y2="20"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Diffuser sur votre Chromecast ou appareil compatible</p>
        </div>

        <!-- Carte 4 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <polygon points="10 8 16 12 10 16 10 8"></polygon>
            </svg>
            <p style="color: #ffffff; margin: 0;">Accéder à toutes les rediffusions des émissions précédentes</p>
        </div>

        <!-- Carte 5 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
        <circle cx="9" cy="7" r="4"></circle>
        <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
        <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Découvrez l'émission "Balades en France" où William Leymergie vous fait voyager à travers les plus belles régions de France, à la rencontre des trésors de notre patrimoine et des acteurs locaux qui font vivre nos territoires.</p>
</div>

        <!-- Carte 6 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px; position: relative;" onmouseover="this.style.transform='translateY(-5px)'; document.getElementById('live-tooltip').style.opacity='1'" onmouseout="this.style.transform='translateY(0)'; document.getElementById('live-tooltip').style.opacity='0'" onclick="window.location.href='https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/'">
    <div id="live-tooltip" style="position: absolute; top: -40px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); color: #fff; padding: 8px 15px; border-radius: 5px; font-size: 14px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; border: 1px solid #00ffff; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">
        Cliquez pour écouter en direct "Europe 1 13h"
    </div>
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M4 12h1"></path>
        <path d="M9 12h1"></path>
        <path d="M14 12h1"></path>
        <path d="M19 12h1"></path>
        <rect x="2" y="8" width="20" height="12" rx="2"></rect>
        <path d="M6 8V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4"></path>
        <circle cx="12" cy="14" r="4"></circle>
        <path d="M12 10v8"></path>
        <path d="M8 14h8"></path>
    </svg>
    <p style="color: #ffffff; margin: 0;">Ou écouter en direct l'émission "Balades en France" avec William Leymergie sur Europe 1</p>
    <p style="color: #00ffff; margin-top: 10px; font-weight: bold; font-size: 0.8em;">
    Dimanche<br>
    De 11h00 à 12h30
</p>
</div>
    </div>
</div>
        
        <!-- Histoire de l'émission -->
        <div style="padding: 20px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">L'Histoire de "Balades en France" avec William Leymergie</h2>
    <p style="color: #ffffff; line-height: 1.6; text-align: center;">
        "Balades en France" est une émission emblématique d'Europe 1, animée par William Leymergie. Ce rendez-vous hebdomadaire propose un voyage à travers les plus belles régions de France, à la découverte de notre patrimoine et de ceux qui font vivre nos territoires.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        Chaque semaine, l'émission offre un moment privilégié où William Leymergie nous emmène sur les routes de France, partageant sa passion pour nos régions, leur histoire, leur gastronomie et leurs traditions. Son talent pour raconter les lieux et les gens fait de chaque épisode une véritable invitation au voyage.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        L'émission s'est imposée comme une référence dans le paysage radiophonique français grâce à sa capacité à mettre en lumière la richesse de notre patrimoine. Avec une approche à la fois culturelle et conviviale, elle permet aux auditeurs de découvrir ou redécouvrir les trésors cachés de nos régions. Des villages perchés aux châteaux historiques, des traditions séculaires aux artisans passionnés, chaque émission est une nouvelle aventure qui célèbre la beauté et la diversité de la France.
    </p>
    <div style="margin-top: 30px;">
        <img decoding="async" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSZoxL0S5A7ZLd1sQc44WMkXWHUkDU92EMFYg&amp;s" alt="Le Studio des Légendes sur Europe 1" style="width: 96%; max-width: 360px; height: auto; border-radius: 15px; object-fit: cover;">
    </div>
</div>

        <!-- Biographie de Laurent Ruquier -->
        <div style="display: flex; flex-direction: column; align-items: center; gap: 20px;">
    <div style="width: 200px; height: 200px; border-radius: 50%; overflow: hidden; border: 3px solid #00ffff;">
        <img decoding="async" src="https://www.gala.fr/imgre/fit/~1~gal~2024~01~09~fba3689a-31e4-4240-bf02-92fb9d3f97b2.jpeg/1876x1378/quality/80/william-leymergie.jpeg" alt="Portrait de William Leymergie, style professionnel" style="width: 100%; height: 100%; object-fit: cover;">
    </div>
    <div style="text-align: center;">
        <h2 style="color: #00ffff; margin-bottom: 20px;">William Leymergie - Une voix emblématique pour découvrir la France</h2>
        <p style="color: #ffffff; line-height: 1.8;">
William Leymergie anime avec passion et expertise l'émission "Balades en France" sur Europe 1. Cette émission unique propose une exploration captivante des plus beaux endroits de France, à la découverte du patrimoine, des traditions et des acteurs locaux qui font vivre nos régions.

Chaque week-end, l'animateur excelle dans l'art de raconter et de faire vivre aux auditeurs des moments privilégiés au cœur des territoires français. Son approche chaleureuse et sa profonde connaissance de la France font de lui un guide hors pair, capable de révéler les trésors cachés et les histoires fascinantes qui façonnent notre pays.

Dans "Balades en France", William Leymergie démontre un talent particulier pour mettre en lumière la richesse culturelle, gastronomique et historique de nos régions. Son émission est devenue un rendez-vous incontournable pour les auditeurs d'Europe 1, offrant un voyage sonore unique à travers les paysages et les traditions de la France.

Sa sensibilité et sa passion communicative pour notre patrimoine font de chaque émission un moment privilégié de découverte et de partage, où les histoires locales prennent une dimension universelle, invitant les auditeurs à partir eux-mêmes à la découverte de ces merveilleux territoires.
        </p>
    </div>
</div>

        <!-- Sources (span across both columns) -->
        <div style="grid-column: 1 / -1; margin-top: 20px; padding: 15px; background: rgba(0, 0, 0, 0.2); border-radius: 10px; text-align: center;">
    <h3 style="color: #00ffff; margin-bottom: 10px; font-size: 1.2em;">Sources :</h3>
    <ul style="list-style: none; padding: 0; text-align: center; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
        <li>
            <a href="https://fr.wikipedia.org/wiki/William_Leymergie" target="_blank" style="color: #00ffff; text-decoration: none; transition: all 0.3s; padding: 5px 10px; border-radius: 5px; display: inline-block; &amp;:hover { background: rgba(0, 255, 255, 0.1); transform: translateY(-2px); box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); }">• Wikipédia - Biographie de William Leymergie</a>
        </li>
    </ul>
</div>
    </div>
</div>

</div>

    <div id="player-modal" class="modal">
        <div class="modal-content">
    <span class="close" onclick="closeModal()">×</span>
    <div class="navigation-buttons">
        <button id="prev-episode" onclick="navigateEpisode('prev')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M15 18l-6-6 6-6"></path>
            </svg>
        </button>
        <button id="next-episode" onclick="navigateEpisode('next')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M9 18l6-6-6-6"></path>
            </svg>
        </button>
    </div>
    <div id="player-content">
    <style>
        /* Styles existants */
        .modal-content {
            background-color: #1a1a1a;
            padding: 40px;
            border: 2px solid #00ffff;
            width: 90%;
            max-width: 500px;
            max-height: 90vh;
            border-radius: 20px;
            text-align: center;
            box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
            position: fixed; /* Changé de absolute à fixed */
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) !important; /* Ajout de !important */
            overflow-y: auto;
            color: white;
        }

        /* Change la couleur du timing en noir */
        audio::-webkit-media-controls-time-display {
            color: #000000 !important;
        }

        /* Ajout de media queries pour le mobile */
        @media (max-width: 768px) {
            .modal-content {
                padding: 30px;
                width: 95%;
                margin: 0 auto;
                position: fixed;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%) !important;
            }
        }

        @media (max-height: 600px) {
            .modal-content {
                max-height: 85vh;
            }
        }
    </style>
</div>
    <button id="chromecast-button" onclick="startChromecast()" style="width: 60px; height: 60px; border-radius: 50%; padding: 0; background-image: url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png'); background-size: 35px; background-position: center; background-repeat: no-repeat; font-size: 0;"></button>
</div>
    </div>

    <div id="fixed-player-bar" class="rtl-podcast-player" style="display: none;">
    <div class="fixed-player-content">
        <h3 id="fixed-player-title"></h3>
        <div class="audio-controls-container" style="display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%; max-width: 800px; margin: 0 auto;">
            <audio id="fixed-player-audio" controls="">
                <source src="" type="audio/mpeg">
            </audio>
            <button onclick="startChromecast()" style="width: 40px; height: 40px; min-width: 40px; border-radius: 50%; padding: 0; background: #ffffff url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png') center/25px no-repeat; border: 2px solid #00ffff; font-size: 0; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">Cast to Chromecast</button>
            <button id="close-fixed-player" onclick="closeFixedPlayer()" style="background: none; border: none; color: #00ffff; font-size: 24px; cursor: pointer; padding: 5px; min-width: 24px; display: flex; align-items: center; justify-content: center;">×</button>
        </div>
    </div>
</div>

    <script>
    (function RTLPodcastPlayer() {
        // Initialize cast api
        window.__onGCastApiAvailable = function(isAvailable) {
            if (!isAvailable) return;

            const initializeCastApi = function() {
                const sessionRequest = new chrome.cast.SessionRequest(chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);
                const apiConfig = new chrome.cast.ApiConfig(
                    sessionRequest,
                    sessionListener,
                    receiverListener
                );
                chrome.cast.initialize(apiConfig, onInitSuccess, onError);
            };

            const sessionListener = function(session) {
                console.log('Session listener', session);
            };

            const receiverListener = function(availability) {
                console.log('Receiver listener', availability);
            };

            const onInitSuccess = function() {
                console.log('Cast initialization success');
            };

            const onError = function(error) {
                console.error('Cast initialization error', error);
            };

            if (!chrome.cast || !chrome.cast.isAvailable) {
                setTimeout(initializeCastApi, 1000);
            } else {
                initializeCastApi();
            }
        };

        const rssUrl = "https://www.europe1.fr/rss/podcasts/la-france-secrete.xml";
        const proxyUrl = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(rssUrl)}&api_key=int3lqiwwrpnsvem6yki0mtwki2f4qcvcxtrlyea&count=50`;
        const episodesPerPage = 4;
        let currentPage = 1;
        let currentAudioUrl = '';
        let totalPages = 0;

        // Ajouter ces variables au début du script
        let currentEpisodeIndex = 0;
        let allEpisodes = [];
        let filteredEpisodes = [];

        fetch(proxyUrl)
            .then(response => response.json())
            .then(data => {
                if (data.status !== "ok") {
                    throw new Error("Erreur de chargement du flux RSS.");
                }
                allEpisodes = data.items;
                filteredEpisodes = [...allEpisodes];
                displayFeaturedEpisode(allEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(allEpisodes);
            })
            .catch(error => {
                document.getElementById("featured-episode").innerHTML = "<p>Impossible de charger le flux RSS. Veuillez réessayer plus tard.</p>";
            });

        function truncateDescription(description, maxLength = 180) {
    // Crée un élément temporaire pour décoder les entités HTML
    const tempElement = document.createElement("div");
    tempElement.innerHTML = description;
    
    // Récupère le texte brut de la description
    let plainText = tempElement.innerText || tempElement.textContent || '';

    // Tronque le texte si nécessaire
    if (plainText.length <= maxLength) return plainText.trim();
    return plainText.substring(0, maxLength).trim() + '...';
}

function displayFeaturedEpisode(episode) {
    const featuredEpisode = document.getElementById("featured-episode");
    
    // Créer le HTML pour les deux premières émissions
    featuredEpisode.innerHTML = `
    <div class="features-episode" style="width: 100%; height: 100%;">
        <!-- Première carte (dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[0].enclosure.link)}', '${sanitizeString(allEpisodes[0].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[0].title)}</h3>
            ${allEpisodes[0].thumbnail ? `<img decoding="async" src="${allEpisodes[0].thumbnail}" alt="Image de la dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[0].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[0].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
        
        <!-- Deuxième carte (avant-dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[1].enclosure.link)}', '${sanitizeString(allEpisodes[1].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[1].title)}</h3>
            ${allEpisodes[1].thumbnail ? `<img decoding="async" src="${allEpisodes[1].thumbnail}" alt="Image de l'avant-dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[1].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[1].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
    </div>
    `;
}

function displayEpisodes(page, episodes) {
    const episodeGrid = document.getElementById("episode-grid");
    episodeGrid.innerHTML = "";
    const episodesWithoutFeatured = episodes.slice(2);
    const start = (page - 1) * episodesPerPage;  
    const end = start + episodesPerPage;
    
    episodesWithoutFeatured.slice(start, end).forEach(item => {
        // IMPORTANT : Encode les titres pour éviter les problèmes avec les apostrophes
        const encodedTitle = encodeURIComponent(item.title);
        const encodedUrl = encodeURIComponent(item.enclosure.link);
        
        episodeGrid.innerHTML += `
    <div class="episode">
        <h5 style="color: #00ffff;">${sanitizeString(item.title)}</h5>
        ${item.thumbnail ? `<img decoding="async" src="${item.thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 150px;">` : ""}
        <div class="description" style="color: white;">${truncateDescription(item.description)}</div>
        <div class="date-badge">
            ${new Date(item.pubDate).toLocaleDateString('fr-FR', {
                day: '2-digit',
                month: '2-digit',
                year: '2-digit'
            })}
        </div>
        <button onclick="openModal('${sanitizeString(item.enclosure.link)}', '${sanitizeString(item.title)}')"></button>
    </div>
`;
    });
    updatePaginationButtons();
}

        function setupPagination(episodes) {
    // Soustrait les 2 épisodes featured au lieu d'un seul
    totalPages = Math.ceil((episodes.length - 2) / episodesPerPage);
    const pageNumbers = document.getElementById("page-numbers");
    pageNumbers.innerHTML = "";

    // Calcule quels numéros afficher
    let start = currentPage;
    if (currentPage === totalPages) {
        start = totalPages - 2;
    } else if (currentPage === 1) {
        start = 1;
    } else {
        start = currentPage - 1;
    }

    // S'assure que start n'est jamais inférieur à 1
    start = Math.max(1, start);
    
    // Affiche 3 boutons à partir de start
    for (let i = start; i < start + 3 && i <= totalPages; i++) {
        const button = document.createElement("button");
        button.textContent = i;
        button.addEventListener("click", () => {
            currentPage = i;
            displayEpisodes(currentPage, episodes);
            setupPagination(episodes); // Important : rafraîchit la pagination
        });
        pageNumbers.appendChild(button);
    }

    // Réactive la fonctionnalité des boutons précédent/suivant
    window.changePage = function(direction) {
        if (direction === 'prev' && currentPage > 1) {
            currentPage--;
        } else if (direction === 'next' && currentPage < totalPages) {
            currentPage++;
        }
        displayEpisodes(currentPage, filteredEpisodes);
        setupPagination(episodes); // Rafraîchit la pagination
        updatePaginationButtons();
    }

    updatePaginationButtons();
}

        function updatePaginationButtons() {
            const prevBtn = document.getElementById('prev-btn');
            const nextBtn = document.getElementById('next-btn');
            
            prevBtn.disabled = currentPage === 1;
            nextBtn.disabled = currentPage === totalPages;
            
            prevBtn.style.opacity = currentPage === 1 ? '0.5' : '1';
            nextBtn.style.opacity = currentPage === totalPages ? '0.5' : '1';
            
            const pageButtons = document.querySelectorAll('#page-numbers button');
            pageButtons.forEach((button, index) => {
                if (index + 1 === currentPage) {
                    button.style.backgroundColor = '#00ffff';
                    button.style.color = '#000';
                } else {
                    button.style.backgroundColor = '#1a1a1a';
                    button.style.color = '#00ffff';
                }
            });
        }

        window.openModal = function(audioUrl, title) {
            const playerContent = document.getElementById("player-content");
            
            // Find the episode data from allEpisodes based on the audioUrl
            const currentEpisode = allEpisodes.find(ep => ep.enclosure.link === audioUrl);
            
            // Get the thumbnail from the episode data directly
            const thumbnail = currentEpisode?.thumbnail;

            // Trouve l'index de l'épisode actuel
            currentEpisodeIndex = allEpisodes.findIndex(ep => ep.enclosure.link === audioUrl);
            
            playerContent.innerHTML = `
                <h2>${title}</h2>
                ${thumbnail ? `<img decoding="async" src="${thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 300px; margin: 15px 0;">` : ''}
                <audio controls style="width: 100%; margin-top: 10px;" id="modal-audio">
                    <source src="${audioUrl}" type="audio/mpeg">
                    Votre navigateur ne supporte pas la lecture audio.
                </audio>
            `;
            
            // Mise à jour de la visibilité des boutons de navigation
            updateNavigationButtons();
            
            currentAudioUrl = audioUrl;
            document.getElementById("player-modal").style.display = "block";
            
            // Store current title for fixed player
            window.currentEpisodeTitle = title;
            
            // Setup audio element for fixed player
            const modalAudio = document.getElementById('modal-audio');
            modalAudio.addEventListener('play', () => {
                window.isPlaying = true;
            });
            modalAudio.addEventListener('pause', () => {
                window.isPlaying = false;
            });
        }

    window.navigateEpisode = function(direction) {
        let newIndex = direction === 'prev' ? currentEpisodeIndex - 1 : currentEpisodeIndex + 1;
        
        if (newIndex >= 0 && newIndex < allEpisodes.length) {
            const episode = allEpisodes[newIndex];
            openModal(episode.enclosure.link, episode.title);
        }
    }

      function sanitizeString(str) {
    return str.replace(/['"\\<>]/g, "");
}


    function updateNavigationButtons() {
        const prevButton = document.getElementById('prev-episode');
        const nextButton = document.getElementById('next-episode');
        
        prevButton.style.display = currentEpisodeIndex === 0 ? 'none' : 'flex';
        nextButton.style.display = currentEpisodeIndex === allEpisodes.length - 1 ? 'none' : 'flex';
    }

        window.closeModal = function() {
            const modalAudio = document.getElementById('modal-audio');
            const fixedPlayerBar = document.getElementById('fixed-player-bar');
            const fixedPlayerAudio = document.getElementById('fixed-player-audio');
            const fixedPlayerTitle = document.getElementById('fixed-player-title');
            
            if (window.isPlaying) {
                // Pause modal audio first
                modalAudio.pause();
                
                // Set up fixed player
                fixedPlayerBar.style.display = 'block';
                fixedPlayerTitle.textContent = window.currentEpisodeTitle;
                fixedPlayerAudio.src = currentAudioUrl;
                fixedPlayerAudio.currentTime = modalAudio.currentTime;
                fixedPlayerAudio.play();
            }
            
            document.getElementById("player-modal").style.display = "none";
        }

    // Add close fixed player function
    window.closeFixedPlayer = function() {
        const fixedPlayerBar = document.getElementById('fixed-player-bar');
        const fixedPlayerAudio = document.getElementById('fixed-player-audio');
        fixedPlayerAudio.pause();
        fixedPlayerBar.style.display = 'none';
    }

        window.startChromecast = function() {
            if (!chrome.cast || !chrome.cast.isAvailable) {
                console.log('Cast API not available');
                return;
            }

            chrome.cast.requestSession(
                function(session) {
                    if (currentAudioUrl) {
                        const mediaInfo = new chrome.cast.media.MediaInfo(currentAudioUrl, 'audio/mpeg');
                        mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();
                        mediaInfo.metadata.title = document.querySelector('#player-content h2').textContent;

                        const request = new chrome.cast.media.LoadRequest(mediaInfo);
                        session.loadMedia(request).then(
                            () => console.log('Lecture Chromecast démarrée'),
                            errorCode => console.error('Erreur Chromecast: ' + errorCode)
                        );
                    }
                },
                function(error) {
                    console.error('Erreur lors de la création de la session:', error);
                }
            );
        }

        window.shareOnX = function() {
            const text = "Écoutez les podcasts : Balades en France avec William Leymergie d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(text)}&url=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnWhatsapp = function() {
            const text = "Écoutez les podcasts : Balades en France avec William Leymergie d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://wa.me/?text=${encodeURIComponent(text + ' ' + url)}`, '_blank');
        };

        window.shareOnFacebook = function() {
          const text = "Écoutez les podcasts : Balades en France avec William Leymergie d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnLinkedIn = function() {
          const text = "Écoutez les podcasts : Balades en France avec William Leymergie d'Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(url)}`, '_blank');
        };

        window.filterAndDisplayEpisodes = function() {
            const searchTerm = document.getElementById('podcast-search').value.toLowerCase();
            const filterValue = document.getElementById('podcast-filter').value;
            
            // Filter episodes based on search term
            filteredEpisodes = allEpisodes.filter(episode => 
                episode.title.toLowerCase().includes(searchTerm) || 
                episode.description.toLowerCase().includes(searchTerm)
            );
            
            // Sort episodes based on filter value
            if (filterValue === 'oldest') {
                filteredEpisodes.sort((a, b) => new Date(a.pubDate) - new Date(b.pubDate));
            } else {
                filteredEpisodes.sort((a, b) => new Date(b.pubDate) - new Date(a.pubDate));
            }
            
            // Reset pagination to first page when filtering
            currentPage = 1;
            
            // Update display
            if (filteredEpisodes.length > 0) {
                displayFeaturedEpisode(filteredEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(filteredEpisodes);
            } else {
                // Handle no results
                document.getElementById('episode-grid').innerHTML = '<p style="color: #fff; text-align: center; grid-column: 1/-1;">Aucun résultat trouvé</p>';
                document.getElementById('page-numbers').innerHTML = '';
            }
        }
    })();
</script>
</div>
</div></div></body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-9e9820f e-con-full e-flex e-con e-parent" data-id="9e9820f" data-element_type="container">
				<div class="elementor-element elementor-element-d4246d5 elementor-widget elementor-widget-html" data-id="d4246d5" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<html><head><base>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  <style>
    .rs-carousel-section {
      padding: 50px 0; 
      background: linear-gradient(45deg, #1a1a1a, #2c2c2c, #0e4d4d);
      background-size: 400% 400%;
      animation: rs-gradientBG 15s ease infinite;
      color: #ffffff;
      font-family: 'Roboto', sans-serif;
      min-height: flex; 
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .rs-title {
      color: #00ffff;
      text-align: center;
      margin: 2rem 0;
      font-size: 2rem;
      text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-container {
      max-width: auto;
      width: 100%;
      position: relative;
      padding: 50px 150px; 
      box-sizing: border-box;
      overflow: hidden;
      margin: 0 auto; 
    }

    .rs-carousel {
      display: flex;
      overflow: hidden;
      scroll-behavior: smooth;
      gap: 20px;
      padding: 20px 0 0 0;
      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .rs-radio-card {
      min-width: 250px;
      flex: 0 0 250px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 15px;
      text-align: center;
      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
      border: 2px solid #00ffff;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);
      position: relative;
      overflow: hidden;
      transform-origin: center center;
      padding: 20px 15px; /* Add consistent padding */
    }

    .rs-radio-card.rs-scrolling {
      transform: scale(0.95) rotate(-2deg);
    }

    .rs-radio-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(0, 255, 255, 0.1), transparent);
      transition: 0.5s;
    }

    .rs-radio-card:hover::before {
      left: 100%;
    }

    .rs-radio-card:hover {
      transform: translateY(-5px) scale(1.02);
      box-shadow: 0 10px 30px rgba(0, 255, 255, 0.3);
      z-index: 1;
    }

    .rs-radio-logo {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      margin-bottom: 1rem;
      border: 3px solid #00ffff;
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);
      transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      cursor: pointer; /* Add cursor pointer to indicate interactivity */
    }

    .rs-radio-logo:hover {
      transform: rotateY(180deg) scale(1.15);
      border-color: #ff00ff;
      box-shadow: 
        0 0 25px rgba(0, 255, 255, 0.5),
        0 0 50px rgba(255, 0, 255, 0.3);
      animation: logoGlow 1.5s infinite alternate;
    }

    @keyframes logoGlow {
      0% {
        box-shadow: 0 0 25px rgba(0, 255, 255, 0.5),
                    0 0 50px rgba(255, 0, 255, 0.3);
      }
      100% {
        box-shadow: 0 0 35px rgba(0, 255, 255, 0.8),
                    0 0 70px rgba(255, 0, 255, 0.6);
      }
    }

    .rs-radio-name {
      font-size: 1.2rem; /* Reduced from 1.5rem */
      margin: 15px 0;
      color: #00ffff;
      transition: all 0.3s ease;
      position: relative; /* Added */
    }

    /* Add hover state for radio name span elements */
    .rs-radio-name span:first-child {
      display: inline-block;
      transition: opacity 0.3s ease;
    }

    .rs-radio-name span:last-child {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      opacity: 0;
      transition: opacity 0.3s ease;
      width: 100%;
    }

    .rs-radio-card:hover .rs-radio-name span:first-child {
      opacity: 0;
    }

    .rs-radio-card:hover .rs-radio-name span:last-child {
      opacity: 1;
    }

    .rs-listen-button {
      position: relative; /* Add this */
      background: #00ffff;
      color: #000;
      width: 60px;
      height: 60px;
      border: none;
      border-radius: 50%;
      font-size: 1.5rem;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      text-decoration: none;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 1rem auto;
      overflow: hidden;
    }

    .rs-listen-button:hover {
      background: #00cccc;
      transform: scale(1.1) rotate(360deg);
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.6);
    }

    .rs-listen-button::before {
      content: "Voir la webradio";
      position: absolute;
      bottom: -30px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(0, 255, 255, 0.9);
      color: #000;
      padding: 5px 10px;
      border-radius: 4px;
      font-size: 12px;
      white-space: nowrap;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
    }

    .rs-listen-button:hover::before {
      opacity: 1;
      visibility: visible;
      bottom: -35px;
    }

    .rs-listen-button:hover i {
      animation: rs-colorChange 2s infinite;
    }

    @keyframes rs-colorChange {
      0% { color: #ff0000; }
      20% { color: #ff7700; }
      40% { color: #ffff00; }
      60% { color: #00ff00; }
      80% { color: #0000ff; }
      100% { color: #ff0000; }
    }

    .rs-listen-button::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle, transparent 30%, rgba(255, 255, 255, 0.3) 70%);
      animation: rs-pulseGlow 2s infinite;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-listen-button:hover::after {
      opacity: 1;
    }

    @keyframes rs-pulseGlow {
      0% {
        transform: scale(0.95);
        opacity: 0.5;
      }
      50% {
        transform: scale(1.1);
        opacity: 0.2;
      }
      100% {
        transform: scale(0.95);
        opacity: 0.5;
      }
    }

    .rs-carousel-button {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0, 255, 255, 0.2);
      border: none;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #00ffff;
      font-size: 1.5rem;
      transition: all 0.3s ease;
      z-index: 2;
      overflow: hidden; /* Add this for ripple effect */
    }

    .rs-carousel-button:hover {
      background: rgba(0, 255, 255, 0.2);
      transform: translateY(-50%) scale(1.1);
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-button::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle at center, rgba(0, 255, 255, 0.8) 0%, transparent 70%);
      transform: scale(0);
      opacity: 0;
      transition: transform 0.5s ease-out, opacity 0.3s ease;
    }

    .rs-carousel-button:hover::before {
      transform: scale(2);
      opacity: 0.3;
    }

    .rs-carousel-button:hover i {
      animation: arrowBounce 0.5s ease infinite alternate;
    }

    @keyframes arrowBounce {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(3px);
      }
    }

    .rs-carousel-button.rs-prev:hover i {
      animation: arrowBounceLeft 0.5s ease infinite alternate;
    }

    @keyframes arrowBounceLeft {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(-3px);
      }
    }

    .rs-carousel-button.rs-prev {
      left: 0;
    }

    .rs-carousel-button.rs-next {
      right: 0;
    }

    @keyframes rs-floatingNotesCard {
      0% {
        opacity: 0;
        transform: translate(0, 0) rotate(0deg);
      }
      50% {
        opacity: 1;
      }
      100% {
        opacity: 0;
        transform: translate(-50px, -50px) rotate(360deg);
      }
    }

    .rs-card-notes {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-radio-card:hover .rs-card-notes {
      opacity: 1;
    }

    .rs-card-note {
      position: absolute;
      font-size: 20px;
      color: #00ffff;
      animation: rs-floatingNotesCard 2s ease-out infinite;
    }

    .rs-card-note-1 { top: 10%; left: 10%; animation-delay: 0s; }
    .rs-card-note-2 { top: 5%; left: 30%; animation-delay: 0.3s; }
    .rs-card-note-3 { top: 15%; left: 50%; animation-delay: 0.6s; }
    .rs-card-note-4 { top: 8%; left: 70%; animation-delay: 0.9s; }
    .rs-card-note-5 { top: 12%; left: 90%; animation-delay: 1.2s; }

    .rs-radio-tag {
      position: absolute;
      top: 10px;
      right: 10px;
      padding: 5px 12px;
      font-size: 0.8rem;
      border-radius: 15px;
      background: rgba(0, 0, 0, 0.7);
      color: #fff;
      border: 1px solid #00ffff;
      box-shadow: 0 0 5px #00ffff,
                  inset 0 0 5px #00ffff;
      text-transform: uppercase;
      letter-spacing: 1px;
      transition: all 0.3s ease;
      transform-style: preserve-3d;
      perspective: 1000px;
      cursor: pointer;
    }
    
    .rs-radio-tag i {
      margin-right: 5px;
      color: #00ffff;
      text-shadow: 0 0 5px #00ffff,
                   0 0 10px #00ffff,
                   0 0 15px #00ffff;
    }

    /* Add hover effects */
    .rs-radio-tag:hover {
      transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      box-shadow: 0 0 15px #00ffff,
                  inset 0 0 10px #00ffff,
                  0 10px 20px rgba(0, 255, 255, 0.4);
      background: rgba(0, 255, 255, 0.1);
      letter-spacing: 2px;
      animation: tagFloat 1s ease-in-out infinite alternate;
    }

    /* Add new keyframe animation */
    @keyframes tagFloat {
      0% {
        transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      }
      100% {
        transform: translateZ(30px) rotateX(15deg) rotateY(-15deg);
        text-shadow: 2px 2px 4px rgba(0, 255, 255, 0.6);
      }
    }

    /* Add before/after elements for 3D effect */
    .rs-radio-tag::before {
      content: '';
      position: absolute;
      inset: -2px;
      background: linear-gradient(45deg, transparent, rgba(0, 255, 255, 0.3), transparent);
      transform: translateZ(-1px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag::after {
      content: '';
      position: absolute;
      inset: -1px;
      background: linear-gradient(-45deg, transparent, rgba(0, 255, 255, 0.2), transparent);
      transform: translateZ(-2px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag:hover::before,
    .rs-radio-tag:hover::after {
      opacity: 1;
    }

    @keyframes rs-floatingNotes {
      0% {
        transform: translateY(0) rotate(0deg) scale(1);
        opacity: 0;
      }
      50% {
        transform: translateY(-20px) rotate(180deg) scale(1.2);
        opacity: 1;
      }
      100% {
        transform: translateY(-40px) rotate(360deg) scale(1);
        opacity: 0;
      }
    }

    @media (max-width: 768px) {
      .rs-carousel-section {
        padding: 30px 0;
      }
      .rs-carousel-container {
        padding: 15px 20px; 
      }
      .rs-radio-card {
        min-width: 250px !important; /* Reduced by 20% from original 312.5px */
        flex: 0 0 250px !important; /* Reduced by 20% from original 312.5px */
      }
      /* Content size reductions */
      .rs-radio-logo {
        width: 84px !important;
        height: 84px !important;
      }
      .rs-radio-name {
        font-size: 1rem !important;
      }
      .rs-listen-button {
        width: 48px;
        height: 48px;
      }
    }

    @media (max-width: 480px) {
      .rs-carousel-section {
        padding: 20px 0;
      }
      .rs-carousel-container {
        padding: 0 30px; 
      }
      .rs-radio-card {
        min-width: 200px !important; /* Further reduced by 20% from tablet size */
        flex: 0 0 200px !important; /* Further reduced by 20% from tablet size */
      }
      /* Further reduce content for smallest screens */
      .rs-radio-logo {
        width: 76px !important;
        height: 76px !important;
        margin: 8px auto 12px !important;
      }
      .rs-radio-name {
        font-size: 0.9rem !important;
      }
      .rs-listen-button {
        width: 40px;
        height: 40px;
      }
    }

    /* Add this CSS inside the existing <style> tag */
    .rs-all-podcasts-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 12px 24px;
      margin: 30px auto 20px;
      background: linear-gradient(45deg, #00ffff, #00cccc);
      border: none;
      border-radius: 25px;
      color: #000;
      font-size: 1rem;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.3s ease;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
      position: relative;
      overflow: hidden;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .rs-all-podcasts-btn:hover {
      transform: translateY(-2px) scale(1.05);
      box-shadow: 
        0 0 20px rgba(0, 255, 255, 0.5),
        0 0 40px rgba(0, 255, 255, 0.2);
    }

    .rs-all-podcasts-btn::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, transparent 65%);
      transform: scale(0);
      transition: transform 0.6s ease-out;
    }

    .rs-all-podcasts-btn:hover::before {
      transform: scale(1) rotate(45deg);
    }

    .rs-all-podcasts-btn i {
      font-size: 1.2rem;
      color: #000;
    }
  </style>
</head>
<body>
  <div class="rs-carousel-section" id="radiostreamr-carousel-section">
    <h2 class="rs-title" id="radiostreamr-title" style="font-size: 28px; animation: textGlow 2s infinite; text-shadow: 0 0 10px rgba(0, 255, 255, 0.5), 0 0 20px rgba(0, 255, 255, 0.3), 0 0 30px rgba(0, 255, 255, 0.2); position: relative; padding-left: 15px; padding-right: 15px;">
  Ecoutez les meilleurs podcasts de la chaine Europe 1 :
</h2>
    
    <div class="rs-carousel-container" id="radiostreamr-container">
      <button class="rs-carousel-button rs-prev" id="radiostreamr-prev-button">
        <i class="fas fa-chevron-left"></i>
      </button>
      
      <div class="rs-carousel" id="radiostreamr-carousel" style="gap: 25px;">

        <!-- Skyrock -->
        <div class="rs-radio-card" id="radiostreamr-card-hondelatte" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/hondelatte-raconte-podcast.webp" alt="Hondelatte raconte" class="rs-radio-logo" style="width: 105px; height: 105px; margin: 10px auto 15px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Histoire prenante</span>
          <h2 class="rs-radio-name">
            <span>Hondelatte raconte</span>
            <span>Podcasts Hondelatte raconte</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-hondelatte-raconte/" class="rs-listen-button" style="margin: 15px auto 10px;">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Oui FM -->
        <div class="rs-radio-card" id="radiostreamr-card-On-marche-sur-la-tête" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-podcast-on-marche-sur-la-tete-cyril-hanouna-radiostreamr.webp" alt="On marche sur la tête logo" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-laugh"></i>Humour</span>
          <h2 class="rs-radio-name">
            <span>On marche sur la tête</span>
            <span>Podcasts On marche sur la tête</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-on-marche-sur-la-tete/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- FIP -->
        <div class="rs-radio-card" id="radiostreamr-card-Europe-1-Matin" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-matin-podcast.webp" alt="FIP Radio" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Matin</span>
            <span>Podcasts Europe 1 Matin</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-matin/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
        
        <!-- Add after the FIP card and before RMC -->
        <div class="rs-radio-card" id="radiostreamr-card-le-grand-rendez-vous" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/0x1900-000000-80-0-0.webp" alt="Le grand rendez-vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Le Grand Rendez-vous</span>
            <span>Podcasts Le Grand Rendez-vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-le-grand-rendez-vous//" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-pascal-praud" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/pascal-praud-podcast.webp" alt="Pascal Praud et vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Pascal Praud et vous</span>
            <span>Podcasts Pascal Praud et vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-pascal-praud/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-cheriefm" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-logo-radio-en-ligne.webp" alt="Charlotte d'Ornellas - Les signatures d'Europe 1" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Chronique actualité</span>
          <h2 class="rs-radio-name">
            <span>Charlotte d'Ornellas</span>
            <span>Podcasts Charlotte d'Ornellas</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-chronique-charlotte-dornellas/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- La Libre Antenne -->
        <div class="rs-radio-card" id="radiostreamr-card-libre-antenne" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/libre-antenne.webp" alt="La Libre Antenne" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-comments"></i>Discussion</span>
          <h2 class="rs-radio-name">
            <span>La Libre Antenne</span>
            <span>Podcasts La Libre Antenne</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-olivier-delacroix/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Il n'y a qu'une vie dans la vie -->
        <div class="rs-radio-card" id="radiostreamr-card-isabelle-morizet" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/isabelle-morizet-podcast.webp" alt="Il n'y a qu'une vie dans la vie" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-friends"></i>Interview</span>
          <h2 class="rs-radio-name">
            <span>Il n'y a qu'une vie dans la vie</span>
            <span>Podcasts Isabelle Morizet</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-isabelle-morizet/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 Soir -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-soir" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-soir-podcasts.webp" alt="Europe 1 Soir" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Soir</span>
            <span>Podcasts Europe 1 Soir</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-soir/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 13h -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-13h" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-13h-podcast.webp" alt="Europe 1 13h" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 13h</span>
            <span>Podcasts Europe 1 13h</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-13h/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Le Studio des Légendes -->
        <div class="rs-radio-card" id="radiostreamr-card-studio-legendes" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/le-studio-des-legendes-podcast.webp" alt="Le Studio des Légendes" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-star"></i>Culture</span>
          <h2 class="rs-radio-name">
            <span>Le Studio des Légendes</span>
            <span>Podcasts Le Studio des Légendes</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-studio-des-legendes/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe Soir Week-end -->
        <div class="rs-radio-card" id="radiostreamr-card-europe-soir-weekend" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-soir-week-end-podcast.webp" alt="Europe Soir Week-end" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe Soir Week-end</span>
            <span>Podcasts Europe Soir Week-end</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe-soir-week-end/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- L'heure des Pros -->
        <div class="rs-radio-card" id="radiostreamr-card-heure-pros" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/lheure-des-pros-podcast.webp" alt="L'heure des Pros" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>L'heure des Pros</span>
            <span>Podcasts L'heure des Pros</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-lheure-des-pros/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les années Top 50 -->
        <div class="rs-radio-card" id="radiostreamr-card-top-50" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/les-annees-top-50-podcast-europe1-1.webp" alt="Les années Top 50" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Musique</span>
          <h2 class="rs-radio-name">
            <span>Les années Top 50</span>
            <span>Podcasts Les années Top 50</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-top-50/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Face à Philippe de Villiers -->
        <div class="rs-radio-card" id="radiostreamr-card-philippe-villiers" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/philippe-de-villiers-podcast-europe1.webp" alt="Face à Philippe de Villiers" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-tie"></i>Politique</span>
          <h2 class="rs-radio-name">
            <span>Face à Philippe de Villiers</span>
            <span>Podcasts Face à Philippe de Villiers</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-face-a-philippe-de-villiers/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les histoires d'amour extraordinaires -->
        <div class="rs-radio-card" id="radiostreamr-card-histoires-amour" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/sophie-davant-podcast.webp" alt="Les histoires d'amour extraordinaires" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-heart"></i>Romance</span>
          <h2 class="rs-radio-name">
            <span>Les histoires d'amour extraordinaires</span>
            <span>Podcasts Les histoires d'amour extraordinaires</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-histoires-damour-extraordinaires/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Au Coeur de l'Histoire -->
        <div class="rs-radio-card" id="radiostreamr-card-coeur-histoire" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/podcast-au-coeur-de-lhistoire.webp" alt="Au Coeur de l'Histoire" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-book-open"></i>Histoire</span>
          <h2 class="rs-radio-name">
            <span>Au Coeur de l'Histoire</span>
            <span>Podcasts Au Coeur de l'Histoire</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-au-coeur-de-lhistoire/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
      </div>

      <button class="rs-carousel-button rs-next" id="radiostreamr-next-button">
        <i class="fas fa-chevron-right"></i>
      </button>
    </div>
    <a href="https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/podcast-europe1" class="rs-all-podcasts-btn">
      <i class="fas fa-podcast"></i>
      Voir tous les podcasts
    </a>
  </div>

  <script>
    (function() {
      class RadioStreamrCarousel {
        constructor(selector) {
          this.container = document.querySelector(selector);
          this.carousel = this.container.querySelector('.rs-carousel');
          this.allCards = Array.from(this.container.querySelectorAll('.rs-radio-card')); // Store all cards
          this.prevButton = this.container.querySelector('.rs-carousel-button.rs-prev');

          // Select random 9 cards
          this.selectRandomCards();
          
          // Initialize properties after cards are selected
          this.cards = Array.from(this.container.querySelectorAll('.rs-radio-card'));
          this.currentIndex = 0;
          this.cardWidth = this.cards[0].offsetWidth + 20;
          this.cardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
          this.maxIndex = this.cards.length - this.cardsPerView;
          this.nextButton = this.container.querySelector('.rs-carousel-button.rs-next');

          this.init();
        }

        selectRandomCards() {
          // Remove all cards from carousel
          this.allCards.forEach(card => card.remove());

          // Randomly select 9 cards
          const shuffled = [...this.allCards].sort(() => 0.5 - Math.random());
          const selected = shuffled.slice(0, 14);
          
          // Add selected cards back to carousel
          selected.forEach(card => {
            this.carousel.appendChild(card);
          });
        }

        init() {
          this.bindEvents();
        }

        scrollToIndex(index) {
          // Handle infinite loop
          if (index < 0) {
            this.currentIndex = this.cards.length - this.cardsPerView;
          } else if (index > this.maxIndex) {
            this.currentIndex = 0;
          } else {
            this.currentIndex = index;
          }
          
          // Add scrolling class to cards
          this.cards.forEach(card => {
            card.classList.add('rs-scrolling');
            setTimeout(() => card.classList.remove('rs-scrolling'), 500);
          });

          // Scroll with animation
          this.carousel.scrollTo({
            left: this.currentIndex * this.cardWidth,
            behavior: 'smooth'
          });

          // Create floating notes effect
          const notes = ['♪', '♫', '♬'];
          for(let i = 0; i < 3; i++) {
            const note = document.createElement('span');
            note.textContent = notes[Math.floor(Math.random() * notes.length)];
            note.style.cssText = `
              position: absolute;
              color: #00ffff;
              font-size: 24px;
              top: ${50 + Math.random() * 100}px;
              left: ${50 + Math.random() * (this.carousel.offsetWidth - 100)}px;
              animation: rs-floatingNotes 1s ease-out ${i * 0.2}s forwards;
              pointer-events: none;
            `;
            this.carousel.appendChild(note);
            setTimeout(() => note.remove(), 1000 + i * 200);
          }
        }

        bindEvents() {
          this.prevButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex - 1));
          this.nextButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex + 1));

          window.addEventListener('resize', () => {
            const newCardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
            const newMaxIndex = this.cards.length - newCardsPerView;
            this.currentIndex = Math.min(this.currentIndex, newMaxIndex);
            this.scrollToIndex(this.currentIndex);
          });
        }
      }

      document.addEventListener('DOMContentLoaded', function() {
        new RadioStreamrCarousel('.rs-carousel-section');
      });
    })();
  </script>
</body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-0d0797d e-con-full e-flex e-con e-parent" data-id="0d0797d" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
				<div class="elementor-element elementor-element-9260360 elementor-widget elementor-widget-shortcode" data-id="9260360" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"></div>
						</div>
				</div>
				</div>
				</div>
		<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-balades-en-france/">🗣️ Podcast et Replay &#8211; Balades en France de William Leymergie  &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://radiostreamr.com/radio-france/podcast-balades-en-france/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🗣️ Podcast et Replay &#8211; Libre antenne d&#8217;Olivier Delacroix  &#8211; Europe 1</title>
		<link>https://radiostreamr.com/radio-france/podcast-olivier-delacroix/</link>
					<comments>https://radiostreamr.com/radio-france/podcast-olivier-delacroix/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 09 Nov 2024 16:59:57 +0000</pubDate>
				<category><![CDATA[Europe 1]]></category>
		<category><![CDATA[Podcast]]></category>
		<guid isPermaLink="false">https://radiostreamr.com/radio-france/?p=956</guid>

					<description><![CDATA[<p>Libre antenne d&#8217;Olivier Delacroix &#8211; Écoutez en rediffusion tous les podcasts Europe 1 Plus récentsPlus anciens Publicité Écoutez la Libre Antenne d&#8217;Olivier Delacroix sur Europe 1 Voir leur Facebook Voir leur Instagram Voir leur site web Découvrez ou redécouvrez « La Libre Antenne » avec Olivier Delacroix, l&#8217;émission phare d&#8217;Europe 1. Dans une ambiance bienveillante et sans [&#8230;]</p>
<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-olivier-delacroix/">🗣️ Podcast et Replay &#8211; Libre antenne d&rsquo;Olivier Delacroix  &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="956" class="elementor elementor-956" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-dce457e e-con-full e-flex e-con e-parent" data-id="dce457e" data-element_type="container">
				<div class="elementor-element elementor-element-9f9be1c 1995 elementor-widget elementor-widget-html" data-id="9f9be1c" data-element_type="widget" id="1995" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<!DOCTYPE html><html><head><meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&amp;display=swap" rel="stylesheet">
<style>
    .rtl-podcast-player * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Roboto', sans-serif;
    }

  .rtl-podcast-player #pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
}

@keyframes gradientBG {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.rtl-podcast-player body {
    background: linear-gradient(-45deg, #0a192f, #172a45, #1a365d, #102235);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    min-height: 100vh;
    display: flex;
    align-items: center;
    color: #fff;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

    .rtl-podcast-player .container {
        display: grid;
        grid-template-columns: 1.2fr 2.8fr;
        gap: 20px;
        margin: 0 auto;
        padding: 50px 150px !important;
        width: 100%;
        background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
        background-size: 400% 400%;
        animation: gradientBG 15s ease infinite;
        border-radius: 0;
        box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);
    }


    @media (max-width: 1024px) {
        .rtl-podcast-player .container {
            padding: 30px 45px;
            grid-template-columns: 1fr 2fr;
        }
        
        .rtl-podcast-player h1 {
            font-size: 2em;
        }
    }


    @media (max-width: 768px) {
        .rtl-podcast-player .container {
            padding: 20px !important; /* Override padding */
            margin: 0 !important; /* Reset margin */
            width: 100% !important;
            max-width: 100% !important;
            grid-template-columns: 1fr;
            overflow-x: hidden; /* Prevent horizontal scroll */
        }
        
        .rtl-podcast-player #episode-grid,
        .rtl-podcast-player .episode,
        .rtl-podcast-player #featured-episode,
        .rtl-podcast-player .host-biography,
        .rtl-podcast-player .social-share-buttons {
            width: 100% !important;
            margin-left: auto !important;
            margin-right: auto !important;
            padding: 15px !important;
        }
        
        .rtl-podcast-player h1,
        .rtl-podcast-player h2,
        .rtl-podcast-player p {
            padding-left: 10px !important;
            padding-right: 10px !important;
            text-align: center;
        }

        .rtl-podcast-player #episode-grid {
            grid-template-columns: 1fr !important; /* Force single column */
            gap: 20px;
        }
        
        .rtl-podcast-player .episode {
            width: 100% !important;
            margin: 0 auto !important;
        }
    }


@media (max-width: 480px) {
    .rtl-podcast-player .container {
        padding: 10px !important;
    }
    
    .rtl-podcast-player #featured-episode,
    .rtl-podcast-player .episode {
        padding: 15px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }
}

.rtl-podcast-player h1 {
    color: #00ffff;
    text-align: center;
    font-size: 2.3em;
    margin-bottom: 40px;
    font-weight: 700;
    width: 100%;
    grid-column: 1 / -1;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.3);
}

  #fixed-player-bar {
        display: flex;               /* Assure l'affichage en flex */
        flex-direction: column;       /* Organisation en colonne */
        align-items: center;          /* Centre les éléments */
        padding: 10px;
        gap: 10px;                    /* Espace entre chaque ligne */
        background: rgba(26, 26, 26, 0.95); /* Conserve l’arrière-plan */
        display: none;                /* Masqué par défaut */
    }

    /* Ligne 1 : Titre de l'épisode */
    #fixed-player-title {
        display: block;               /* Force l'affichage sur une ligne complète */
        text-align: center;
        font-size: 1.2em;
        color: #00ffff;
        width: 100%;                  /* Prend la largeur complète */
    }

    /* Ligne 2 : Player audio */
    #fixed-player-audio {
        display: block;               /* Force l'affichage sur une ligne complète */
        width: 100%;
    }

    /* Ligne 3 : Conteneur pour les boutons Chromecast et fermeture */
    .audio-controls-container {
        display: flex;
        justify-content: center;
        gap: 20px;
        width: 100%;                  /* Assure une disposition sur toute la largeur */
    }

    /* Styles des boutons */
    #chromecast-button, #close-fixed-player {
        width: 40px;
        height: 40px;
        border: none;
        cursor: pointer;
    }
}

  @media (max-width: 768px) {
    .rtl-podcast-player h1 {
        margin-top: 0px !important; /* Ajustez la valeur selon vos besoins */
    }
}
  
.rtl-podcast-player #featured-episode {
    /* Remplacer ces styles */
    display: flex;
    flex-direction: column;
    height: 100%; /* Ajout de cette ligne */
    padding: 30px;
    border-radius: 15px;
    background-color: transparent;
    color: #ffffff;
    transition: all 0.3s ease;
}

.rtl-podcast-player #featured-episode:hover {
    transform: translateY(-5px);
}

.rtl-podcast-player #featured-episode h3 {
    color: #00ffff;
    margin-bottom: 15px;
    font-weight: 500;
}

.rtl-podcast-player #featured-episode button, .rtl-podcast-player .episode button {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    padding: 0;
    background-image: url('https://static.vecteezy.com/system/resources/thumbnails/017/196/540/small/3d-play-button-icon-transparent-background-free-png.png');
    background-size: 35px;
    background-position: center;
    background-repeat: no-repeat;
    font-size: 0;
    position: relative;
}

    .rtl-podcast-player .date-badge {
        background: rgba(0, 255, 255, 0.1);
        border: 2px solid #00ffff;
        border-radius: 8px;
        padding: 8px 15px;
        color: #00ffff;
        font-weight: bold;
        text-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
        box-shadow: 
            0 0 5px rgba(0, 255, 255, 0.2),
            0 0 10px rgba(0, 255, 255, 0.2),
            0 0 15px rgba(0, 255, 255, 0.2),
            0 0 20px rgba(0, 255, 255, 0.2);
        animation: neonPulse 1.5s ease-in-out infinite;
        margin: 15px auto 20px auto; /* Increased bottom margin */
        display: block; /* Changed from inline-block to block */
        width: fit-content;
    }

    @keyframes neonPulse {
        0%, 100% {
            box-shadow: 
                0 0 5px rgba(0, 255, 255, 0.2),
                0 0 10px rgba(0, 255, 255, 0.2),
                0 0 15px rgba(0, 255, 255, 0.2),
                0 0 20px rgba(0, 255, 255, 0.2);
        }
        50% {
            box-shadow: 
                0 0 10px rgba(0, 255, 255, 0.4),
                0 0 20px rgba(0, 255, 255, 0.4),
                0 0 30px rgba(0, 255, 255, 0.4),
                0 0 40px rgba(0, 255, 255, 0.4);
        }
    }


.rtl-podcast-player #featured-episode img,
.rtl-podcast-player .episode img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .modal-content img {
    border-radius: 15px;
    object-fit: cover;
}

.rtl-podcast-player .episode button:hover::after,
.rtl-podcast-player #featured-episode button:hover::after {
    content: "Ecouter ce podcast";
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap;
    z-index: 1000;
}

.rtl-podcast-player #featured-episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #episode-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

    .rtl-podcast-player .episode {
        padding: 20px;
        border-radius: 15px;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.1);
        text-align: center;
        background-color: #1a1a1a;
        transition: all 0.3s ease;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .rtl-podcast-player .episode p {
        color: #ffffff;
    }


.rtl-podcast-player .episode:hover {
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);
    transform: translateY(-3px);
}

.rtl-podcast-player .episode h5 {
    margin-bottom: 10px;
    color: #00ffff;
}

.rtl-podcast-player .episode a {
    color: #00ffff;
    text-decoration: none;
}

    .rtl-podcast-player .episode button:hover {
        background-color: #00cccc;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }
    
    .search-filter-container {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        margin-bottom: 30px;
        width: 100%;
    }

    .search-filter-container input,
    .search-filter-container select {
        padding: 10px 15px;
        border: 2px solid #00ffff;
        border-radius: 8px;
        background: rgba(0, 0, 0, 0.3);
        color: #fff;
        font-size: 16px;
        width: 200px;
    }

    .search-filter-container input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }

    .search-filter-container input:focus,
    .search-filter-container select:focus {
        outline: none;
        box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
    }

    .search-filter-container select {
        cursor: pointer;
    }

    .search-filter-container select option {
        background-color: #1a1a1a;
        color: #fff;
    }

    @media (max-width: 768px) {
        .search-filter-container {
            flex-direction: column;
            gap: 10px;
        }

        .search-filter-container input,
        .search-filter-container select {
            width: 100%;
            max-width: 300px;
        }
    }

    color: #000;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-top: 10px; /* Add space above button */
    display: block; /* Ensure block-level display */
    margin-left: auto;
    margin-right: auto;
}

.rtl-podcast-player .episode button:hover {
    background-color: #00cccc;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player .pagination {
    text-align: center !important;
    margin-top: 30px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
}

  .rtl-podcast-player #page-numbers {
    display: flex !important;
    gap: 5px !important;
    margin: 0 5px !important;
}
  
.rtl-podcast-player .pagination button,
.rtl-podcast-player .pagination #prev-btn,
.rtl-podcast-player .pagination #next-btn {
    margin: 0 !important;  /* Changé de 5px à 0 */
    padding: 8px 16px;
    font-size: 1em;
    background-color: #1a1a1a;
    color: #00ffff;
    border: 1px solid #00ffff;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rtl-podcast-player .pagination button:hover {
    background-color: #00ffff;
    color: #000;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
}

.rtl-podcast-player .modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
}

.rtl-podcast-player .modal-content {
    background-color: #1a1a1a;
    padding: 40px;
    border: 2px solid #00ffff;
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: auto;
    color: white;
}

.rtl-podcast-player .close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: #00ffff;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
}

.rtl-podcast-player .close:hover {
    color: #00cccc;
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
}

.rtl-podcast-player #chromecast-button {
    background-color: #00ffff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    color: #000;
    margin-top: 20px;
    font-weight: bold;
    display: inline-block;
}

.rtl-podcast-player audio::-webkit-media-controls-panel {
    background-color: #2a2a2a;
}

.rtl-podcast-player audio::-webkit-media-controls-current-time-display,
.rtl-podcast-player audio::-webkit-media-controls-time-remaining-display {
    color: #000000;
}

.rtl-podcast-player #fixed-player-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(26, 26, 26, 0.95);
    backdrop-filter: blur(10px);
    padding: 10px 20px;
    z-index: 999;
    border-top: 2px solid #00ffff;
}

.rtl-podcast-player .fixed-player-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    gap: 20px;
}


.rtl-podcast-player #fixed-player-title {
    color: #00ffff;
    font-size: 1em;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.rtl-podcast-player #fixed-player-audio {
    flex: 2;
    max-width: 500px;
}

.episode-card {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(0, 255, 255, 0.3);
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.episode-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 255, 255, 0.2);
}

.episode-card img {
    width: 100%;
    max-width: 200px;
    border-radius: 10px;
    margin: 10px 0;
}

.episode-card button {
    margin-top: 10px;
}
  
/* Conserve les styles des boutons play et mute */
audio::-webkit-media-controls-play-button,
audio::-webkit-media-controls-mute-button {
    background-color: #40E0D0 !important; /* Bleu turquoise */
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
}

audio::-webkit-media-controls-play-button:hover,
audio::-webkit-media-controls-mute-button:hover {
    background-color: #5FECEC !important; /* Bleu turquoise plus clair au survol */
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5) !important;
}

/* Tentative pour changer la couleur du trait de progression */
audio::-webkit-media-controls-timeline {
    color: #a6a6a6 !important; /* Essaye de cibler le trait turquoise */
}

/* Modifie la couleur des trois petits points */
audio::-webkit-media-controls-panel {
    background-color: transparent !important; /* Assure que le fond ne prend pas de couleur */
    color: #40E0D0 !important; /* Forcer la couleur turquoise pour les trois points */
}

/* Tentative supplémentaire pour cibler le trait du curseur de progression */
audio::-webkit-slider-runnable-track {
    background-color: #40E0D0 !important; /* Bleu turquoise pour la piste */
}

audio::-webkit-slider-thumb {
    background-color: #a6a6a6 !important; /* Plus clair pour le curseur lui-même */
}


@media (max-width: 768px) {
    .rtl-podcast-player .fixed-player-content {
        flex-direction: column;
        gap: 10px;
        padding: 15px;
    }

    .rtl-podcast-player #fixed-player-audio {
        width: 100%;
        max-width: 100%;
    }

    .rtl-podcast-player #fixed-player-title {
        width: 100%;
        text-align: center;
        font-size: 0.9em;
    }
}

.rtl-podcast-player .social-button {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease-in-out;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.rtl-podcast-player .social-button:hover {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .rtl-podcast-player .social-share-buttons {
        gap: 10px;
    }
    
    .rtl-podcast-player .social-button {
        width: 40px;
        height: 40px;
    }
    
    .rtl-podcast-player .social-button svg {
        width: 20px;
        height: 20px;
    }
}

.navigation-buttons {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    pointer-events: none;
    z-index: 1000;
}

.nav-button {
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid #00ffff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    pointer-events: auto;
}  

.nav-button:hover {
    background: rgba(0, 255, 255, 0.2);
    transform: scale(1.1);
}

.nav-button svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 768px) {
    .nav-button {
        width: 35px;
        height: 35px;
    }
    
    .nav-button svg {
        width: 20px;
        height: 20px;
    }
}
</style>
<script type="text/javascript" src="//www.gstatic.com/cv/js/sender/v1/cast_sender.js"></script>

</head><body>
<div class="rtl-podcast-player">
    <div class="container" style="background: linear-gradient(-45deg, #000000, #001a1a, #003333, #004d4d);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    border-radius: 0; /* Changed from 20px to 0 */
    box-shadow: 0 0 30px rgba(0, 255, 255, 0.2);">
    <h1 style="color: #00ffff; text-align: center; font-size: 2.1em; margin-bottom: 40px; font-weight: 700; width: 100%; grid-column: 1 / -1; text-shadow: 0 0 10px rgba(0, 255, 255, 0.3); padding: 0 15px; display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap;">
Libre antenne d'Olivier Delacroix - Écoutez en rediffusion tous les podcasts Europe 1
<img decoding="async" src="https://cdn-europe1.lanmedia.fr/var/europe1/storage/images/europe1/animateurs/europe-12/53472641-3-fre-FR/Europe-1.png" alt="Logo Europe 1" style="width: 60px; height: 60px; border-radius: 50%; padding: 5px; background: white; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);">
</h1>
    <div class="social-share-buttons" style="display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 30px; width: 100%; grid-column: 1 / -1;">
    <button onclick="shareOnX()" class="social-button" style="background-color: #000;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path>
        </svg>
    </button>
    <button onclick="shareOnWhatsapp()" class="social-button" style="background-color: #25D366;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"></path>
        </svg>
    </button>
    <button onclick="shareOnFacebook()" class="social-button" style="background-color: #1877F2;">  
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path>
        </svg>
    </button>
    <button onclick="shareOnLinkedIn()" class="social-button" style="background-color: #0A66C2;">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#fff">
            <path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path>
        </svg>
    </button>
</div>
      
    <div id="featured-episode" style="display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: space-between; gap: 20px; height: 100%; position: relative; padding-top: 20px; cursor: pointer;">
  <div class="features-episode" style="width: 100%; height: 100%;">
    <!-- Première carte (dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
            
    <!-- Deuxième carte (avant-dernière émission) -->
    <div class="episode-card">
      <h3 style="color: #00ffff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;"></h3>
      <p style="display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 3em; /* Strictement limité à 180 caractères */" class="truncate-text"></p>
      <div class="date-badge"></div>
      <button onclick="openModal('', '')"></button>
    </div>
  </div>
</div>
    <div>
    <div class="search-filter-container">
        <input type="text" id="podcast-search" placeholder="Rechercher un podcast..." oninput="filterAndDisplayEpisodes()">
        <select id="podcast-filter" onchange="filterAndDisplayEpisodes()">
            <option value="newest">Plus récents</option>
            <option value="oldest">Plus anciens</option>
        </select>
    </div>
    <div id="episode-grid">
        <style>
            .episode {
                cursor: pointer;
            }
            
            .episode > * {
                pointer-events: none;
            }
            
            .episode button {
                pointer-events: auto;
            }
        </style>
    </div>
    <div class="pagination" id="pagination">
    <button id="prev-btn" onclick="changePage('prev')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M15 18l-6-6 6-6"></path>
        </svg>
    </button>
    <span id="page-numbers"></span>
    <button id="next-btn" onclick="changePage('next')">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M9 18l6-6-6-6"></path>
        </svg>
    </button>
</div>

      <div class="ad-banner" style="width: 100%; max-width: 508px; margin: 20px auto; text-align: center; grid-column: 1 / -1; background: rgba(0,0,0,0.3); padding: 15px; border-radius: 10px; border: 1px solid rgba(0, 255, 255, 0.2); transition: transform 0.3s ease;">
    <p style="color: #666; font-size: 12px; margin-bottom: 10px;">Publicité</p>
    <a href="https://universal-academy.com/recruter-des-alternants-dans-le-tourisme/" target="_blank" style="display: inline-block;">
        <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/Design-sans-titre-2024-11-06T134332.299.webp" alt="Bannière publicitaire RTL" style="width: 100%; max-width: 700px; height: auto; border-radius: 8px; transition: transform 0.3s ease;" onmouseover="this.style.transform='scale(1.02)'" onmouseout="this.style.transform='scale(1)'">
    </a>
</div>

    <script>
        // Ajouter un event listener pour les cartes d'épisodes
        document.getElementById('episode-grid').addEventListener('click', (e) => {
            const episodeCard = e.target.closest('.episode');
            if (episodeCard) {
                // Trouver le bouton dans la carte et simuler un clic dessus
                const button = episodeCard.querySelector('button');
                if (button) {
                    button.click();
                }
            }
        });
    </script>
</div>
    
    <div class="host-biography" style="grid-column: 1 / -1; background: rgba(0, 0, 0, 0.3); padding: 30px; border-radius: 15px; margin-top: 30px; border: 1px solid rgba(0, 255, 255, 0.2);">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
        <!-- Media query pour passer en une colonne sur mobile -->
        <style>
            @media (max-width: 768px) {
                .host-biography > div {
                    grid-template-columns: 1fr !important;
                }
            }
        </style>

      <div class="host-biography" style="grid-column: 1 / -1; padding: 30px; border-radius: 15px; margin-top: 30px;">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px;">
      <div style="grid-column: 1 / -1; margin-bottom: 30px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">Écoutez la Libre Antenne d'Olivier Delacroix sur Europe 1</h2>

    <!-- Nouveaux boutons de réseaux sociaux -->
    <div style="display: flex; justify-content: center; align-items: center; gap: 20px; margin: 20px 0;">
        <a href="https://www.facebook.com/p/Pascal-Praud-et-vous-61550848847097/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #1877F2; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Facebook</span>
</a>

        <a href="https://www.instagram.com/pascalpraud/?hl=fr" target="_blank" style="position: relative; width: 50px; height: 50px; background: #E4405F; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#ffffff">
        <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur Instagram</span>
</a>

        <a href="https://www.europe1.fr/" target="_blank" style="position: relative; width: 50px; height: 50px; background: #00ffff; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; cursor: pointer;">
    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 24 24" fill="#000000">
        <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"></path>
    </svg>
    <span style="position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none;">Voir leur site web</span>
</a>
    </div>

    <style>
        /* Hover effects pour les boutons */
        .host-biography a:hover {
            transform: scale(1.1);
            box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
        }
        
        .host-biography a:hover span {
            opacity: 1;
        }

        /* Media queries pour le responsive */
        @media (max-width: 768px) {
            .host-biography div[style*="display: flex"] {
                flex-wrap: wrap;
                justify-content: center;
                gap: 15px;
            }
        }
    </style>

    <p style="color: #ffffff; line-height: 1.6; text-align: center; max-width: 1200px; margin: 0 auto;">
    Découvrez ou redécouvrez "La Libre Antenne" avec Olivier Delacroix, l'émission phare d'Europe 1. Dans une ambiance bienveillante et sans jugement, Olivier Delacroix accueille chaque soir les auditeurs pour des échanges authentiques et profonds sur leurs histoires personnelles, leurs difficultés ou leurs questionnements. Avec son écoute attentive et son empathie naturelle, il guide les discussions et apporte un éclairage précieux sur des sujets parfois délicats. La Libre Antenne est devenue au fil des années un espace unique de dialogue et de partage, où chacun peut s'exprimer librement et trouver du réconfort. Les témoignages touchants, les conseils avisés et la chaleur humaine qui se dégagent de ces échanges nocturnes en font une émission unique dans le paysage radiophonique français. Que ce soit pour parler d'amour, de famille, de travail ou de tout autre sujet de vie, Olivier Delacroix et son équipe sont là pour écouter, accompagner et soutenir les auditeurs dans leurs parcours personnels. Retrouvez en podcast ou en direct sur Europe 1 cette émission qui donne la parole à ceux qui en ont besoin et crée chaque soir une véritable chaîne de solidarité entre les auditeurs.
</p>
    
    <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 30px; padding: 20px;">
        <!-- Les 6 cartes existantes restent inchangées -->
        <!-- Carte 1 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M3 18v-6a9 9 0 0 1 18 0v6"></path>
                <path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"></path>
            </svg>
            <p style="color: #ffffff; margin: 0;">Écouter gratuitement tous les podcasts en streaming</p>
        </div>

        <!-- Carte 2 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                <polyline points="7 10 12 15 17 10"></polyline>
                <line x1="12" y1="15" x2="12" y2="3"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Télécharger les épisodes pour une écoute hors-ligne</p>
        </div>

        <!-- Carte 3 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"></path>
                <line x1="2" y1="20" x2="2" y2="20"></line>
            </svg>
            <p style="color: #ffffff; margin: 0;">Diffuser sur votre Chromecast ou appareil compatible</p>
        </div>

        <!-- Carte 4 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <polygon points="10 8 16 12 10 16 10 8"></polygon>
            </svg>
            <p style="color: #ffffff; margin: 0;">Accéder à toutes les rediffusions des émissions précédentes</p>
        </div>

        <!-- Carte 5 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px;" onmouseover="this.style.transform='translateY(-5px)'" onmouseout="this.style.transform='translateY(0)'">
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
        <circle cx="9" cy="7" r="4"></circle>
        <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
        <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
    </svg>
    <p style="color: #ffffff;">Retrouvez la Libre antenne avec Olivier Delacroix, une émission unique où les auditeurs partagent leurs histoires, leurs joies et leurs peines dans un espace d'écoute et de dialogue bienveillant</p>
</div>

        <!-- Carte 6 -->
        <div style="background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); transition: transform 0.3s ease; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 15px; position: relative;" onmouseover="this.style.transform='translateY(-5px)'; document.getElementById('live-tooltip').style.opacity='1'" onmouseout="this.style.transform='translateY(0)'; document.getElementById('live-tooltip').style.opacity='0'" onclick="window.location.href='https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/'">
    <div id="live-tooltip" style="position: absolute; top: -40px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); color: #fff; padding: 8px 15px; border-radius: 5px; font-size: 14px; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; border: 1px solid #00ffff; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">
        Cliquez pour écouter en direct
    </div>
    <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M4 12h1"></path>
        <path d="M9 12h1"></path>
        <path d="M14 12h1"></path>
        <path d="M19 12h1"></path>
        <rect x="2" y="8" width="20" height="12" rx="2"></rect>
        <path d="M6 8V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4"></path>
        <circle cx="12" cy="14" r="4"></circle>
        <path d="M12 10v8"></path>
        <path d="M8 14h8"></path>
    </svg>
    <p style="color: #ffffff;">Écoutez la Libre Antenne d'Olivier Delacroix sur Europe 1 en direct</p>
    <p style="color: #00ffff; margin-top: 10px; font-weight: bold; font-size: 0.8em;">Du lundi au jeudi de 22h15 à 1h00</p>
</div>
    </div>
</div>
        
        <!-- Histoire de l'émission -->
        <div style="padding: 20px; text-align: center;">
    <h2 style="color: #00ffff; margin-bottom: 20px; text-align: center;">L'Histoire de la Libre Antenne avec Olivier Delacroix</h2>
    <p style="color: #ffffff; line-height: 1.6; text-align: center;">
        La "Libre Antenne" avec Olivier Delacroix est une émission emblématique d'Europe 1, qui offre un espace d'écoute et de dialogue unique dans le paysage radiophonique français. Chaque soir, Olivier Delacroix accueille les auditeurs qui souhaitent partager leurs histoires, leurs doutes, leurs joies ou leurs peines, créant ainsi un lieu d'échange privilégié où la parole se libère en toute confidentialité.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        L'émission se distingue par sa capacité à aborder tous les sujets, même les plus sensibles, avec bienveillance et sans jugement. Des histoires d'amour aux conflits familiaux, des questionnements existentiels aux situations de vie complexes, chaque témoignage est accueilli avec respect et empathie. Olivier Delacroix, avec sa voix chaleureuse et son écoute attentive, guide les discussions et apporte un éclairage précieux aux auditeurs qui se confient.
    </p>
    <p style="color: #ffffff; line-height: 1.6; margin-top: 15px; text-align: center;">
        Au fil des années, la Libre Antenne est devenue bien plus qu'une simple émission de radio : c'est un véritable rendez-vous nocturne où se tissent des liens invisibles entre les auditeurs, où la solitude s'efface le temps d'une confidence, où les mots permettent de se libérer d'un poids. La force de l'émission réside dans cette capacité à créer du lien social et à montrer que, quelle que soit notre histoire, nous ne sommes jamais vraiment seuls.
    </p>
    <div style="margin-top: 30px;">
        <img decoding="async" src="https://cdn-europe1.lanmedia.fr/var/europe1/storage/images/europe1/emissions/la-libre-antenne/485208-112-fre-FR/Libre-antenne.png" alt="Le Studio des Légendes sur Europe 1" style="width: 96%; max-width: 360px; height: auto; border-radius: 15px; object-fit: cover;">
    </div>
</div>

        <!-- Biographie de Laurent Ruquier -->
        <div style="display: flex; flex-direction: column; align-items: center; gap: 20px;">
    <div style="width: 200px; height: 200px; border-radius: 50%; overflow: hidden; border: 3px solid #00ffff;">
        <img decoding="async" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTN_nnJ5eMlpkLMfpqliZDx3sOBwA66GSy8Mg&amp;s" alt="Olivier Delacroix portrait photo" style="width: 100%; height: 100%; object-fit: cover;">
    </div>
    <div style="text-align: center;">
        <h2 style="color: #00ffff; margin-bottom: 20px;">Olivier Delacroix - L'animateur de la Libre Antenne</h2>
        <p style="color: #ffffff; line-height: 1.8;">
            Olivier Delacroix est une figure emblématique de la radio française, particulièrement connu pour son animation bienveillante de la Libre Antenne sur Europe 1. Sa voix chaleureuse et son écoute attentive en font le confident idéal pour les auditeurs qui souhaitent partager leurs histoires personnelles, leurs doutes ou leurs espoirs. Son approche empathique et non-jugeante permet de créer un espace de dialogue unique où la parole se libère naturellement.
        </p>
        <p style="color: #ffffff; line-height: 1.8; margin-top: 15px;">
            À la barre de la Libre Antenne, Olivier Delacroix accompagne chaque soir les auditeurs dans leurs confidences avec une sensibilité et un professionnalisme remarquables. Sa capacité à aborder des sujets parfois difficiles tout en maintenant une atmosphère respectueuse et bienveillante fait de lui un animateur particulièrement apprécié. Son talent d'écoute et sa façon de guider les conversations permettent aux auditeurs de se sentir en confiance pour partager leurs expériences les plus intimes, faisant de chaque émission un moment unique de partage et de soutien mutuel.
        </p>
    </div>
</div>

        <!-- Sources (span across both columns) -->
        <div style="grid-column: 1 / -1; margin-top: 20px; padding: 15px; background: rgba(0, 0, 0, 0.2); border-radius: 10px; text-align: center;">
    <h3 style="color: #00ffff; margin-bottom: 10px; font-size: 1.2em;">Sources :</h3>
    <ul style="list-style: none; padding: 0; text-align: center; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
        <li>
</li>
        <li>
            <a href="https://fr.wikipedia.org/wiki/Olivier_Delacroix" target="_blank" style="color: #00ffff; text-decoration: none; transition: all 0.3s; padding: 5px 10px; border-radius: 5px; display: inline-block; &amp;:hover { background: rgba(0, 255, 255, 0.1); transform: translateY(-2px); box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); }">• Wikipédia - Olivier Delacroix</a>
        </li>
    </ul>
</div>
    </div>
</div>

</div>

    <div id="player-modal" class="modal">
        <div class="modal-content">
    <span class="close" onclick="closeModal()">×</span>
    <div class="navigation-buttons">
        <button id="prev-episode" onclick="navigateEpisode('prev')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M15 18l-6-6 6-6"></path>
            </svg>
        </button>
        <button id="next-episode" onclick="navigateEpisode('next')" class="nav-button">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#00ffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M9 18l6-6-6-6"></path>
            </svg>
        </button>
    </div>
    <div id="player-content">
    <style>
        /* Styles existants */
        .modal-content {
            background-color: #1a1a1a;
            padding: 40px;
            border: 2px solid #00ffff;
            width: 90%;
            max-width: 500px;
            max-height: 90vh;
            border-radius: 20px;
            text-align: center;
            box-shadow: 0 0 40px rgba(0, 255, 255, 0.3);
            position: fixed; /* Changé de absolute à fixed */
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) !important; /* Ajout de !important */
            overflow-y: auto;
            color: white;
        }

        /* Change la couleur du timing en noir */
        audio::-webkit-media-controls-time-display {
            color: #000000 !important;
        }

        /* Ajout de media queries pour le mobile */
        @media (max-width: 768px) {
            .modal-content {
                padding: 30px;
                width: 95%;
                margin: 0 auto;
                position: fixed;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%) !important;
            }
        }

        @media (max-height: 600px) {
            .modal-content {
                max-height: 85vh;
            }
        }
    </style>
</div>
    <button id="chromecast-button" onclick="startChromecast()" style="width: 60px; height: 60px; border-radius: 50%; padding: 0; background-image: url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png'); background-size: 35px; background-position: center; background-repeat: no-repeat; font-size: 0;"></button>
</div>
    </div>

    <div id="fixed-player-bar" class="rtl-podcast-player" style="display: none;">
    <div class="fixed-player-content">
        <h3 id="fixed-player-title"></h3>
        <div class="audio-controls-container" style="display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%; max-width: 800px; margin: 0 auto;">
            <audio id="fixed-player-audio" controls="">
                <source src="" type="audio/mpeg">
            </audio>
            <button onclick="startChromecast()" style="width: 40px; height: 40px; min-width: 40px; border-radius: 50%; padding: 0; background: #ffffff url('https://cdn-icons-png.flaticon.com/512/8819/8819177.png') center/25px no-repeat; border: 2px solid #00ffff; font-size: 0; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 0 10px rgba(0, 255, 255, 0.2);">Cast to Chromecast</button>
            <button id="close-fixed-player" onclick="closeFixedPlayer()" style="background: none; border: none; color: #00ffff; font-size: 24px; cursor: pointer; padding: 5px; min-width: 24px; display: flex; align-items: center; justify-content: center;">×</button>
        </div>
    </div>
</div>

    <script>
    (function RTLPodcastPlayer() {
        // Initialize cast api
        window.__onGCastApiAvailable = function(isAvailable) {
            if (!isAvailable) return;

            const initializeCastApi = function() {
                const sessionRequest = new chrome.cast.SessionRequest(chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);
                const apiConfig = new chrome.cast.ApiConfig(
                    sessionRequest,
                    sessionListener,
                    receiverListener
                );
                chrome.cast.initialize(apiConfig, onInitSuccess, onError);
            };

            const sessionListener = function(session) {
                console.log('Session listener', session);
            };

            const receiverListener = function(availability) {
                console.log('Receiver listener', availability);
            };

            const onInitSuccess = function() {
                console.log('Cast initialization success');
            };

            const onError = function(error) {
                console.error('Cast initialization error', error);
            };

            if (!chrome.cast || !chrome.cast.isAvailable) {
                setTimeout(initializeCastApi, 1000);
            } else {
                initializeCastApi();
            }
        };

        const rssUrl = "https://www.europe1.fr/rss/podcasts/libre-antenne.xml";
        const proxyUrl = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(rssUrl)}&api_key=int3lqiwwrpnsvem6yki0mtwki2f4qcvcxtrlyea&count=150`;
        const episodesPerPage = 4;
        let currentPage = 1;
        let currentAudioUrl = '';
        let totalPages = 0;

        // Ajouter ces variables au début du script
        let currentEpisodeIndex = 0;
        let allEpisodes = [];
        let filteredEpisodes = [];

        fetch(proxyUrl)
            .then(response => response.json())
            .then(data => {
                if (data.status !== "ok") {
                    throw new Error("Erreur de chargement du flux RSS.");
                }
                allEpisodes = data.items;
                filteredEpisodes = [...allEpisodes];
                displayFeaturedEpisode(allEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(allEpisodes);
            })
            .catch(error => {
                document.getElementById("featured-episode").innerHTML = "<p>Impossible de charger le flux RSS. Veuillez réessayer plus tard.</p>";
            });

        function truncateDescription(description, maxLength = 180) {
    // Crée un élément temporaire pour décoder les entités HTML
    const tempElement = document.createElement("div");
    tempElement.innerHTML = description;
    
    // Récupère le texte brut de la description
    let plainText = tempElement.innerText || tempElement.textContent || '';

    // Tronque le texte si nécessaire
    if (plainText.length <= maxLength) return plainText.trim();
    return plainText.substring(0, maxLength).trim() + '...';
}

function displayFeaturedEpisode(episode) {
    const featuredEpisode = document.getElementById("featured-episode");
    
    // Créer le HTML pour les deux premières émissions
    featuredEpisode.innerHTML = `
    <div class="features-episode" style="width: 100%; height: 100%;">
        <!-- Première carte (dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[0].enclosure.link)}', '${sanitizeString(allEpisodes[0].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[0].title)}</h3>
            ${allEpisodes[0].thumbnail ? `<img decoding="async" src="${allEpisodes[0].thumbnail}" alt="Image de la dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[0].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[0].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
        
        <!-- Deuxième carte (avant-dernière émission) -->
        <div class="episode-card" onclick="openModal('${sanitizeString(allEpisodes[1].enclosure.link)}', '${sanitizeString(allEpisodes[1].title)}')">
            <h3 style="color: #00ffff;">${sanitizeString(allEpisodes[1].title)}</h3>
            ${allEpisodes[1].thumbnail ? `<img decoding="async" src="${allEpisodes[1].thumbnail}" alt="Image de l'avant-dernière émission">` : ""}
            <div class="description" style="color: white;">${truncateDescription(allEpisodes[1].description)}</div>
            <div class="date-badge">
                ${new Date(allEpisodes[1].pubDate).toLocaleDateString('fr-FR', {
                    day: '2-digit',
                    month: '2-digit',
                    year: '2-digit'
                })}
            </div>
            <button></button>
        </div>
    </div>
    `;
}

function displayEpisodes(page, episodes) {
    const episodeGrid = document.getElementById("episode-grid");
    episodeGrid.innerHTML = "";
    const episodesWithoutFeatured = episodes.slice(2);
    const start = (page - 1) * episodesPerPage;  
    const end = start + episodesPerPage;
    
    episodesWithoutFeatured.slice(start, end).forEach(item => {
        // IMPORTANT : Encode les titres pour éviter les problèmes avec les apostrophes
        const encodedTitle = encodeURIComponent(item.title);
        const encodedUrl = encodeURIComponent(item.enclosure.link);
        
        episodeGrid.innerHTML += `
    <div class="episode">
        <h5 style="color: #00ffff;">${sanitizeString(item.title)}</h5>
        ${item.thumbnail ? `<img decoding="async" src="${item.thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 150px;">` : ""}
        <div class="description" style="color: white;">${truncateDescription(item.description)}</div>
        <div class="date-badge">
            ${new Date(item.pubDate).toLocaleDateString('fr-FR', {
                day: '2-digit',
                month: '2-digit',
                year: '2-digit'
            })}
        </div>
        <button onclick="openModal('${sanitizeString(item.enclosure.link)}', '${sanitizeString(item.title)}')"></button>
    </div>
`;
    });
    updatePaginationButtons();
}

        function setupPagination(episodes) {
    // Soustrait les 2 épisodes featured au lieu d'un seul
    totalPages = Math.ceil((episodes.length - 2) / episodesPerPage);
    const pageNumbers = document.getElementById("page-numbers");
    pageNumbers.innerHTML = "";

    // Calcule quels numéros afficher
    let start = currentPage;
    if (currentPage === totalPages) {
        start = totalPages - 2;
    } else if (currentPage === 1) {
        start = 1;
    } else {
        start = currentPage - 1;
    }

    // S'assure que start n'est jamais inférieur à 1
    start = Math.max(1, start);
    
    // Affiche 3 boutons à partir de start
    for (let i = start; i < start + 3 && i <= totalPages; i++) {
        const button = document.createElement("button");
        button.textContent = i;
        button.addEventListener("click", () => {
            currentPage = i;
            displayEpisodes(currentPage, episodes);
            setupPagination(episodes); // Important : rafraîchit la pagination
        });
        pageNumbers.appendChild(button);
    }

    // Réactive la fonctionnalité des boutons précédent/suivant
    window.changePage = function(direction) {
        if (direction === 'prev' && currentPage > 1) {
            currentPage--;
        } else if (direction === 'next' && currentPage < totalPages) {
            currentPage++;
        }
        displayEpisodes(currentPage, filteredEpisodes);
        setupPagination(episodes); // Rafraîchit la pagination
        updatePaginationButtons();
    }

    updatePaginationButtons();
}

        function updatePaginationButtons() {
            const prevBtn = document.getElementById('prev-btn');
            const nextBtn = document.getElementById('next-btn');
            
            prevBtn.disabled = currentPage === 1;
            nextBtn.disabled = currentPage === totalPages;
            
            prevBtn.style.opacity = currentPage === 1 ? '0.5' : '1';
            nextBtn.style.opacity = currentPage === totalPages ? '0.5' : '1';
            
            const pageButtons = document.querySelectorAll('#page-numbers button');
            pageButtons.forEach((button, index) => {
                if (index + 1 === currentPage) {
                    button.style.backgroundColor = '#00ffff';
                    button.style.color = '#000';
                } else {
                    button.style.backgroundColor = '#1a1a1a';
                    button.style.color = '#00ffff';
                }
            });
        }

        window.openModal = function(audioUrl, title) {
            const playerContent = document.getElementById("player-content");
            
            // Find the episode data from allEpisodes based on the audioUrl
            const currentEpisode = allEpisodes.find(ep => ep.enclosure.link === audioUrl);
            
            // Get the thumbnail from the episode data directly
            const thumbnail = currentEpisode?.thumbnail;

            // Trouve l'index de l'épisode actuel
            currentEpisodeIndex = allEpisodes.findIndex(ep => ep.enclosure.link === audioUrl);
            
            playerContent.innerHTML = `
                <h2>${title}</h2>
                ${thumbnail ? `<img decoding="async" src="${thumbnail}" alt="Image de l'épisode" style="width: 100%; max-width: 300px; margin: 15px 0;">` : ''}
                <audio controls style="width: 100%; margin-top: 10px;" id="modal-audio">
                    <source src="${audioUrl}" type="audio/mpeg">
                    Votre navigateur ne supporte pas la lecture audio.
                </audio>
            `;
            
            // Mise à jour de la visibilité des boutons de navigation
            updateNavigationButtons();
            
            currentAudioUrl = audioUrl;
            document.getElementById("player-modal").style.display = "block";
            
            // Store current title for fixed player
            window.currentEpisodeTitle = title;
            
            // Setup audio element for fixed player
            const modalAudio = document.getElementById('modal-audio');
            modalAudio.addEventListener('play', () => {
                window.isPlaying = true;
            });
            modalAudio.addEventListener('pause', () => {
                window.isPlaying = false;
            });
        }

    window.navigateEpisode = function(direction) {
        let newIndex = direction === 'prev' ? currentEpisodeIndex - 1 : currentEpisodeIndex + 1;
        
        if (newIndex >= 0 && newIndex < allEpisodes.length) {
            const episode = allEpisodes[newIndex];
            openModal(episode.enclosure.link, episode.title);
        }
    }

      function sanitizeString(str) {
    return str.replace(/['"\\<>]/g, "");
}


    function updateNavigationButtons() {
        const prevButton = document.getElementById('prev-episode');
        const nextButton = document.getElementById('next-episode');
        
        prevButton.style.display = currentEpisodeIndex === 0 ? 'none' : 'flex';
        nextButton.style.display = currentEpisodeIndex === allEpisodes.length - 1 ? 'none' : 'flex';
    }

        window.closeModal = function() {
            const modalAudio = document.getElementById('modal-audio');
            const fixedPlayerBar = document.getElementById('fixed-player-bar');
            const fixedPlayerAudio = document.getElementById('fixed-player-audio');
            const fixedPlayerTitle = document.getElementById('fixed-player-title');
            
            if (window.isPlaying) {
                // Pause modal audio first
                modalAudio.pause();
                
                // Set up fixed player
                fixedPlayerBar.style.display = 'block';
                fixedPlayerTitle.textContent = window.currentEpisodeTitle;
                fixedPlayerAudio.src = currentAudioUrl;
                fixedPlayerAudio.currentTime = modalAudio.currentTime;
                fixedPlayerAudio.play();
            }
            
            document.getElementById("player-modal").style.display = "none";
        }

    // Add close fixed player function
    window.closeFixedPlayer = function() {
        const fixedPlayerBar = document.getElementById('fixed-player-bar');
        const fixedPlayerAudio = document.getElementById('fixed-player-audio');
        fixedPlayerAudio.pause();
        fixedPlayerBar.style.display = 'none';
    }

        window.startChromecast = function() {
            if (!chrome.cast || !chrome.cast.isAvailable) {
                console.log('Cast API not available');
                return;
            }

            chrome.cast.requestSession(
                function(session) {
                    if (currentAudioUrl) {
                        const mediaInfo = new chrome.cast.media.MediaInfo(currentAudioUrl, 'audio/mpeg');
                        mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();
                        mediaInfo.metadata.title = document.querySelector('#player-content h2').textContent;

                        const request = new chrome.cast.media.LoadRequest(mediaInfo);
                        session.loadMedia(request).then(
                            () => console.log('Lecture Chromecast démarrée'),
                            errorCode => console.error('Erreur Chromecast: ' + errorCode)
                        );
                    }
                },
                function(error) {
                    console.error('Erreur lors de la création de la session:', error);
                }
            );
        }

        window.shareOnX = function() {
            const text = "Écoutez et téléchargez les podcasts Libre antenne d'Olivier Delacroix sur Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(text)}&url=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnWhatsapp = function() {
            const text = "Écoutez et téléchargez les podcasts Libre antenne d'Olivier Delacroix sur Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://wa.me/?text=${encodeURIComponent(text + ' ' + url)}`, '_blank');
        };

        window.shareOnFacebook = function() {
          const text = "Écoutez et téléchargez les podcasts Libre antenne d'Olivier Delacroix sur Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`, '_blank');
        };

        window.shareOnLinkedIn = function() {
          const text = "Écoutez et téléchargez les podcasts Libre antenne d'Olivier Delacroix sur Europe 1 avec RadiostreamR !";
            const url = window.location.href;
            window.open(`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(url)}`, '_blank');
        };

        window.filterAndDisplayEpisodes = function() {
            const searchTerm = document.getElementById('podcast-search').value.toLowerCase();
            const filterValue = document.getElementById('podcast-filter').value;
            
            // Filter episodes based on search term
            filteredEpisodes = allEpisodes.filter(episode => 
                episode.title.toLowerCase().includes(searchTerm) || 
                episode.description.toLowerCase().includes(searchTerm)
            );
            
            // Sort episodes based on filter value
            if (filterValue === 'oldest') {
                filteredEpisodes.sort((a, b) => new Date(a.pubDate) - new Date(b.pubDate));
            } else {
                filteredEpisodes.sort((a, b) => new Date(b.pubDate) - new Date(a.pubDate));
            }
            
            // Reset pagination to first page when filtering
            currentPage = 1;
            
            // Update display
            if (filteredEpisodes.length > 0) {
                displayFeaturedEpisode(filteredEpisodes[0]);
                displayEpisodes(currentPage, filteredEpisodes);
                setupPagination(filteredEpisodes);
            } else {
                // Handle no results
                document.getElementById('episode-grid').innerHTML = '<p style="color: #fff; text-align: center; grid-column: 1/-1;">Aucun résultat trouvé</p>';
                document.getElementById('page-numbers').innerHTML = '';
            }
        }
    })();
</script>
</div>
</div></div></body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-9e9820f e-con-full e-flex e-con e-parent" data-id="9e9820f" data-element_type="container">
				<div class="elementor-element elementor-element-d4246d5 elementor-widget elementor-widget-html" data-id="d4246d5" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<html><head><base>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  <style>
    .rs-carousel-section {
      padding: 50px 0; 
      background: linear-gradient(45deg, #1a1a1a, #2c2c2c, #0e4d4d);
      background-size: 400% 400%;
      animation: rs-gradientBG 15s ease infinite;
      color: #ffffff;
      font-family: 'Roboto', sans-serif;
      min-height: flex; 
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .rs-title {
      color: #00ffff;
      text-align: center;
      margin: 2rem 0;
      font-size: 2rem;
      text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-container {
      max-width: auto;
      width: 100%;
      position: relative;
      padding: 50px 150px; 
      box-sizing: border-box;
      overflow: hidden;
      margin: 0 auto; 
    }

    .rs-carousel {
      display: flex;
      overflow: hidden;
      scroll-behavior: smooth;
      gap: 20px;
      padding: 20px 0 0 0;
      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .rs-radio-card {
      min-width: 250px;
      flex: 0 0 250px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 15px;
      text-align: center;
      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
      border: 2px solid #00ffff;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);
      position: relative;
      overflow: hidden;
      transform-origin: center center;
      padding: 20px 15px; /* Add consistent padding */
    }

    .rs-radio-card.rs-scrolling {
      transform: scale(0.95) rotate(-2deg);
    }

    .rs-radio-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(0, 255, 255, 0.1), transparent);
      transition: 0.5s;
    }

    .rs-radio-card:hover::before {
      left: 100%;
    }

    .rs-radio-card:hover {
      transform: translateY(-5px) scale(1.02);
      box-shadow: 0 10px 30px rgba(0, 255, 255, 0.3);
      z-index: 1;
    }

    .rs-radio-logo {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      margin-bottom: 1rem;
      border: 3px solid #00ffff;
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);
      transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      cursor: pointer; /* Add cursor pointer to indicate interactivity */
    }

    .rs-radio-logo:hover {
      transform: rotateY(180deg) scale(1.15);
      border-color: #ff00ff;
      box-shadow: 
        0 0 25px rgba(0, 255, 255, 0.5),
        0 0 50px rgba(255, 0, 255, 0.3);
      animation: logoGlow 1.5s infinite alternate;
    }

    @keyframes logoGlow {
      0% {
        box-shadow: 0 0 25px rgba(0, 255, 255, 0.5),
                    0 0 50px rgba(255, 0, 255, 0.3);
      }
      100% {
        box-shadow: 0 0 35px rgba(0, 255, 255, 0.8),
                    0 0 70px rgba(255, 0, 255, 0.6);
      }
    }

    .rs-radio-name {
      font-size: 1.2rem; /* Reduced from 1.5rem */
      margin: 15px 0;
      color: #00ffff;
      transition: all 0.3s ease;
      position: relative; /* Added */
    }

    /* Add hover state for radio name span elements */
    .rs-radio-name span:first-child {
      display: inline-block;
      transition: opacity 0.3s ease;
    }

    .rs-radio-name span:last-child {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      opacity: 0;
      transition: opacity 0.3s ease;
      width: 100%;
    }

    .rs-radio-card:hover .rs-radio-name span:first-child {
      opacity: 0;
    }

    .rs-radio-card:hover .rs-radio-name span:last-child {
      opacity: 1;
    }

    .rs-listen-button {
      position: relative; /* Add this */
      background: #00ffff;
      color: #000;
      width: 60px;
      height: 60px;
      border: none;
      border-radius: 50%;
      font-size: 1.5rem;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      text-decoration: none;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 1rem auto;
      overflow: hidden;
    }

    .rs-listen-button:hover {
      background: #00cccc;
      transform: scale(1.1) rotate(360deg);
      box-shadow: 0 0 20px rgba(0, 255, 255, 0.6);
    }

    .rs-listen-button::before {
      content: "Voir la webradio";
      position: absolute;
      bottom: -30px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(0, 255, 255, 0.9);
      color: #000;
      padding: 5px 10px;
      border-radius: 4px;
      font-size: 12px;
      white-space: nowrap;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
    }

    .rs-listen-button:hover::before {
      opacity: 1;
      visibility: visible;
      bottom: -35px;
    }

    .rs-listen-button:hover i {
      animation: rs-colorChange 2s infinite;
    }

    @keyframes rs-colorChange {
      0% { color: #ff0000; }
      20% { color: #ff7700; }
      40% { color: #ffff00; }
      60% { color: #00ff00; }
      80% { color: #0000ff; }
      100% { color: #ff0000; }
    }

    .rs-listen-button::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle, transparent 30%, rgba(255, 255, 255, 0.3) 70%);
      animation: rs-pulseGlow 2s infinite;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-listen-button:hover::after {
      opacity: 1;
    }

    @keyframes rs-pulseGlow {
      0% {
        transform: scale(0.95);
        opacity: 0.5;
      }
      50% {
        transform: scale(1.1);
        opacity: 0.2;
      }
      100% {
        transform: scale(0.95);
        opacity: 0.5;
      }
    }

    .rs-carousel-button {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0, 255, 255, 0.2);
      border: none;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #00ffff;
      font-size: 1.5rem;
      transition: all 0.3s ease;
      z-index: 2;
      overflow: hidden; /* Add this for ripple effect */
    }

    .rs-carousel-button:hover {
      background: rgba(0, 255, 255, 0.2);
      transform: translateY(-50%) scale(1.1);
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
    }

    .rs-carousel-button::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle at center, rgba(0, 255, 255, 0.8) 0%, transparent 70%);
      transform: scale(0);
      opacity: 0;
      transition: transform 0.5s ease-out, opacity 0.3s ease;
    }

    .rs-carousel-button:hover::before {
      transform: scale(2);
      opacity: 0.3;
    }

    .rs-carousel-button:hover i {
      animation: arrowBounce 0.5s ease infinite alternate;
    }

    @keyframes arrowBounce {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(3px);
      }
    }

    .rs-carousel-button.rs-prev:hover i {
      animation: arrowBounceLeft 0.5s ease infinite alternate;
    }

    @keyframes arrowBounceLeft {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(-3px);
      }
    }

    .rs-carousel-button.rs-prev {
      left: 0;
    }

    .rs-carousel-button.rs-next {
      right: 0;
    }

    @keyframes rs-floatingNotesCard {
      0% {
        opacity: 0;
        transform: translate(0, 0) rotate(0deg);
      }
      50% {
        opacity: 1;
      }
      100% {
        opacity: 0;
        transform: translate(-50px, -50px) rotate(360deg);
      }
    }

    .rs-card-notes {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.3s;
    }

    .rs-radio-card:hover .rs-card-notes {
      opacity: 1;
    }

    .rs-card-note {
      position: absolute;
      font-size: 20px;
      color: #00ffff;
      animation: rs-floatingNotesCard 2s ease-out infinite;
    }

    .rs-card-note-1 { top: 10%; left: 10%; animation-delay: 0s; }
    .rs-card-note-2 { top: 5%; left: 30%; animation-delay: 0.3s; }
    .rs-card-note-3 { top: 15%; left: 50%; animation-delay: 0.6s; }
    .rs-card-note-4 { top: 8%; left: 70%; animation-delay: 0.9s; }
    .rs-card-note-5 { top: 12%; left: 90%; animation-delay: 1.2s; }

    .rs-radio-tag {
      position: absolute;
      top: 10px;
      right: 10px;
      padding: 5px 12px;
      font-size: 0.8rem;
      border-radius: 15px;
      background: rgba(0, 0, 0, 0.7);
      color: #fff;
      border: 1px solid #00ffff;
      box-shadow: 0 0 5px #00ffff,
                  inset 0 0 5px #00ffff;
      text-transform: uppercase;
      letter-spacing: 1px;
      transition: all 0.3s ease;
      transform-style: preserve-3d;
      perspective: 1000px;
      cursor: pointer;
    }
    
    .rs-radio-tag i {
      margin-right: 5px;
      color: #00ffff;
      text-shadow: 0 0 5px #00ffff,
                   0 0 10px #00ffff,
                   0 0 15px #00ffff;
    }

    /* Add hover effects */
    .rs-radio-tag:hover {
      transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      box-shadow: 0 0 15px #00ffff,
                  inset 0 0 10px #00ffff,
                  0 10px 20px rgba(0, 255, 255, 0.4);
      background: rgba(0, 255, 255, 0.1);
      letter-spacing: 2px;
      animation: tagFloat 1s ease-in-out infinite alternate;
    }

    /* Add new keyframe animation */
    @keyframes tagFloat {
      0% {
        transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);
      }
      100% {
        transform: translateZ(30px) rotateX(15deg) rotateY(-15deg);
        text-shadow: 2px 2px 4px rgba(0, 255, 255, 0.6);
      }
    }

    /* Add before/after elements for 3D effect */
    .rs-radio-tag::before {
      content: '';
      position: absolute;
      inset: -2px;
      background: linear-gradient(45deg, transparent, rgba(0, 255, 255, 0.3), transparent);
      transform: translateZ(-1px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag::after {
      content: '';
      position: absolute;
      inset: -1px;
      background: linear-gradient(-45deg, transparent, rgba(0, 255, 255, 0.2), transparent);
      transform: translateZ(-2px);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .rs-radio-tag:hover::before,
    .rs-radio-tag:hover::after {
      opacity: 1;
    }

    @keyframes rs-floatingNotes {
      0% {
        transform: translateY(0) rotate(0deg) scale(1);
        opacity: 0;
      }
      50% {
        transform: translateY(-20px) rotate(180deg) scale(1.2);
        opacity: 1;
      }
      100% {
        transform: translateY(-40px) rotate(360deg) scale(1);
        opacity: 0;
      }
    }

    @media (max-width: 768px) {
      .rs-carousel-section {
        padding: 30px 0;
      }
      .rs-carousel-container {
        padding: 15px 20px; 
      }
      .rs-radio-card {
        min-width: 250px !important; /* Reduced by 20% from original 312.5px */
        flex: 0 0 250px !important; /* Reduced by 20% from original 312.5px */
      }
      /* Content size reductions */
      .rs-radio-logo {
        width: 84px !important;
        height: 84px !important;
      }
      .rs-radio-name {
        font-size: 1rem !important;
      }
      .rs-listen-button {
        width: 48px;
        height: 48px;
      }
    }

    @media (max-width: 480px) {
      .rs-carousel-section {
        padding: 20px 0;
      }
      .rs-carousel-container {
        padding: 0 30px; 
      }
      .rs-radio-card {
        min-width: 200px !important; /* Further reduced by 20% from tablet size */
        flex: 0 0 200px !important; /* Further reduced by 20% from tablet size */
      }
      /* Further reduce content for smallest screens */
      .rs-radio-logo {
        width: 76px !important;
        height: 76px !important;
        margin: 8px auto 12px !important;
      }
      .rs-radio-name {
        font-size: 0.9rem !important;
      }
      .rs-listen-button {
        width: 40px;
        height: 40px;
      }
    }

    /* Add this CSS inside the existing <style> tag */
    .rs-all-podcasts-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 12px 24px;
      margin: 30px auto 20px;
      background: linear-gradient(45deg, #00ffff, #00cccc);
      border: none;
      border-radius: 25px;
      color: #000;
      font-size: 1rem;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.3s ease;
      box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
      position: relative;
      overflow: hidden;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .rs-all-podcasts-btn:hover {
      transform: translateY(-2px) scale(1.05);
      box-shadow: 
        0 0 20px rgba(0, 255, 255, 0.5),
        0 0 40px rgba(0, 255, 255, 0.2);
    }

    .rs-all-podcasts-btn::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, transparent 65%);
      transform: scale(0);
      transition: transform 0.6s ease-out;
    }

    .rs-all-podcasts-btn:hover::before {
      transform: scale(1) rotate(45deg);
    }

    .rs-all-podcasts-btn i {
      font-size: 1.2rem;
      color: #000;
    }
  </style>
</head>
<body>
  <div class="rs-carousel-section" id="radiostreamr-carousel-section">
    <h2 class="rs-title" id="radiostreamr-title" style="font-size: 28px; animation: textGlow 2s infinite; text-shadow: 0 0 10px rgba(0, 255, 255, 0.5), 0 0 20px rgba(0, 255, 255, 0.3), 0 0 30px rgba(0, 255, 255, 0.2); position: relative; padding-left: 15px; padding-right: 15px;">
  Ecoutez les meilleurs podcasts de la chaine Europe 1 :
</h2>
    
    <div class="rs-carousel-container" id="radiostreamr-container">
      <button class="rs-carousel-button rs-prev" id="radiostreamr-prev-button">
        <i class="fas fa-chevron-left"></i>
      </button>
      
      <div class="rs-carousel" id="radiostreamr-carousel" style="gap: 25px;">

        <!-- Skyrock -->
        <div class="rs-radio-card" id="radiostreamr-card-hondelatte" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/hondelatte-raconte-podcast.webp" alt="Hondelatte raconte" class="rs-radio-logo" style="width: 105px; height: 105px; margin: 10px auto 15px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Histoire prenante</span>
          <h2 class="rs-radio-name">
            <span>Hondelatte raconte</span>
            <span>Podcasts Hondelatte raconte</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-hondelatte-raconte/" class="rs-listen-button" style="margin: 15px auto 10px;">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Oui FM -->
        <div class="rs-radio-card" id="radiostreamr-card-On-marche-sur-la-tête" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-podcast-on-marche-sur-la-tete-cyril-hanouna-radiostreamr.webp" alt="On marche sur la tête logo" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-laugh"></i>Humour</span>
          <h2 class="rs-radio-name">
            <span>On marche sur la tête</span>
            <span>Podcasts On marche sur la tête</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-on-marche-sur-la-tete/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- FIP -->
        <div class="rs-radio-card" id="radiostreamr-card-Europe-1-Matin" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-matin-podcast.webp" alt="FIP Radio" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Matin</span>
            <span>Podcasts Europe 1 Matin</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-matin/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
        
        <!-- Add after the FIP card and before RMC -->
        <div class="rs-radio-card" id="radiostreamr-card-le-grand-rendez-vous" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/0x1900-000000-80-0-0.webp" alt="Le grand rendez-vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Informations</span>
          <h2 class="rs-radio-name">
            <span>Le Grand Rendez-vous</span>
            <span>Podcasts Le Grand Rendez-vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-le-grand-rendez-vous//" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-pascal-praud" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/pascal-praud-podcast.webp" alt="Pascal Praud et vous" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Pascal Praud et vous</span>
            <span>Podcasts Pascal Praud et vous</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-pascal-praud/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Chérie FM -->
        <div class="rs-radio-card" id="radiostreamr-card-cheriefm" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-1-logo-radio-en-ligne.webp" alt="Charlotte d'Ornellas - Les signatures d'Europe 1" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Chronique actualité</span>
          <h2 class="rs-radio-name">
            <span>Charlotte d'Ornellas</span>
            <span>Podcasts Charlotte d'Ornellas</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-chronique-charlotte-dornellas/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- La Libre Antenne -->
        <div class="rs-radio-card" id="radiostreamr-card-libre-antenne" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/libre-antenne.webp" alt="La Libre Antenne" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-comments"></i>Discussion</span>
          <h2 class="rs-radio-name">
            <span>La Libre Antenne</span>
            <span>Podcasts La Libre Antenne</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-olivier-delacroix/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Il n'y a qu'une vie dans la vie -->
        <div class="rs-radio-card" id="radiostreamr-card-isabelle-morizet" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/isabelle-morizet-podcast.webp" alt="Il n'y a qu'une vie dans la vie" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-friends"></i>Interview</span>
          <h2 class="rs-radio-name">
            <span>Il n'y a qu'une vie dans la vie</span>
            <span>Podcasts Isabelle Morizet</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-isabelle-morizet/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 Soir -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-soir" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-soir-podcasts.webp" alt="Europe 1 Soir" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 Soir</span>
            <span>Podcasts Europe 1 Soir</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-soir/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe 1 13h -->
        <div class="rs-radio-card" id="radiostreamr-card-europe1-13h" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe1-13h-podcast.webp" alt="Europe 1 13h" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe 1 13h</span>
            <span>Podcasts Europe 1 13h</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe1-13h/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Le Studio des Légendes -->
        <div class="rs-radio-card" id="radiostreamr-card-studio-legendes" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/le-studio-des-legendes-podcast.webp" alt="Le Studio des Légendes" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-star"></i>Culture</span>
          <h2 class="rs-radio-name">
            <span>Le Studio des Légendes</span>
            <span>Podcasts Le Studio des Légendes</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-studio-des-legendes/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Europe Soir Week-end -->
        <div class="rs-radio-card" id="radiostreamr-card-europe-soir-weekend" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/europe-soir-week-end-podcast.webp" alt="Europe Soir Week-end" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>Europe Soir Week-end</span>
            <span>Podcasts Europe Soir Week-end</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-europe-soir-week-end/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- L'heure des Pros -->
        <div class="rs-radio-card" id="radiostreamr-card-heure-pros" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/lheure-des-pros-podcast.webp" alt="L'heure des Pros" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-newspaper"></i>Actualité</span>
          <h2 class="rs-radio-name">
            <span>L'heure des Pros</span>
            <span>Podcasts L'heure des Pros</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-lheure-des-pros/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les années Top 50 -->
        <div class="rs-radio-card" id="radiostreamr-card-top-50" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/les-annees-top-50-podcast-europe1-1.webp" alt="Les années Top 50" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-music"></i>Musique</span>
          <h2 class="rs-radio-name">
            <span>Les années Top 50</span>
            <span>Podcasts Les années Top 50</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-top-50/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Face à Philippe de Villiers -->
        <div class="rs-radio-card" id="radiostreamr-card-philippe-villiers" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/philippe-de-villiers-podcast-europe1.webp" alt="Face à Philippe de Villiers" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-user-tie"></i>Politique</span>
          <h2 class="rs-radio-name">
            <span>Face à Philippe de Villiers</span>
            <span>Podcasts Face à Philippe de Villiers</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-face-a-philippe-de-villiers/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Les histoires d'amour extraordinaires -->
        <div class="rs-radio-card" id="radiostreamr-card-histoires-amour" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/sophie-davant-podcast.webp" alt="Les histoires d'amour extraordinaires" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-heart"></i>Romance</span>
          <h2 class="rs-radio-name">
            <span>Les histoires d'amour extraordinaires</span>
            <span>Podcasts Les histoires d'amour extraordinaires</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-histoires-damour-extraordinaires/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>

        <!-- Au Coeur de l'Histoire -->
        <div class="rs-radio-card" id="radiostreamr-card-coeur-histoire" style="min-width: 312.5px; flex: 0 0 312.5px;">
          <div class="rs-card-notes">
            <span class="rs-card-note rs-card-note-1">♪</span>
            <span class="rs-card-note rs-card-note-2">♫</span>
            <span class="rs-card-note rs-card-note-3">♬</span>
            <span class="rs-card-note rs-card-note-4">♪</span>
            <span class="rs-card-note rs-card-note-5">♫</span>
          </div>
          <img decoding="async" src="https://radiostreamr.com/radio-france/wp-content/uploads/2024/11/podcast-au-coeur-de-lhistoire.webp" alt="Au Coeur de l'Histoire" class="rs-radio-logo" style="width: 105px; height: 105px;">
          <span class="rs-radio-tag"><i class="fas fa-book-open"></i>Histoire</span>
          <h2 class="rs-radio-name">
            <span>Au Coeur de l'Histoire</span>
            <span>Podcasts Au Coeur de l'Histoire</span>
          </h2>
          <a href="https://radiostreamr.com/radio-france/podcast-au-coeur-de-lhistoire/" class="rs-listen-button">
            <i class="fas fa-play" style="font-size: 0.75rem"></i>
          </a>
        </div>
      </div>

      <button class="rs-carousel-button rs-next" id="radiostreamr-next-button">
        <i class="fas fa-chevron-right"></i>
      </button>
    </div>
    <a href="https://radiostreamr.com/radio-france/ecoutez-en-direct-europe1/podcast-europe1" class="rs-all-podcasts-btn">
      <i class="fas fa-podcast"></i>
      Voir tous les podcasts
    </a>
  </div>

  <script>
    (function() {
      class RadioStreamrCarousel {
        constructor(selector) {
          this.container = document.querySelector(selector);
          this.carousel = this.container.querySelector('.rs-carousel');
          this.allCards = Array.from(this.container.querySelectorAll('.rs-radio-card')); // Store all cards
          this.prevButton = this.container.querySelector('.rs-carousel-button.rs-prev');

          // Select random 9 cards
          this.selectRandomCards();
          
          // Initialize properties after cards are selected
          this.cards = Array.from(this.container.querySelectorAll('.rs-radio-card'));
          this.currentIndex = 0;
          this.cardWidth = this.cards[0].offsetWidth + 20;
          this.cardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
          this.maxIndex = this.cards.length - this.cardsPerView;
          this.nextButton = this.container.querySelector('.rs-carousel-button.rs-next');

          this.init();
        }

        selectRandomCards() {
          // Remove all cards from carousel
          this.allCards.forEach(card => card.remove());

          // Randomly select 9 cards
          const shuffled = [...this.allCards].sort(() => 0.5 - Math.random());
          const selected = shuffled.slice(0, 14);
          
          // Add selected cards back to carousel
          selected.forEach(card => {
            this.carousel.appendChild(card);
          });
        }

        init() {
          this.bindEvents();
        }

        scrollToIndex(index) {
          // Handle infinite loop
          if (index < 0) {
            this.currentIndex = this.cards.length - this.cardsPerView;
          } else if (index > this.maxIndex) {
            this.currentIndex = 0;
          } else {
            this.currentIndex = index;
          }
          
          // Add scrolling class to cards
          this.cards.forEach(card => {
            card.classList.add('rs-scrolling');
            setTimeout(() => card.classList.remove('rs-scrolling'), 500);
          });

          // Scroll with animation
          this.carousel.scrollTo({
            left: this.currentIndex * this.cardWidth,
            behavior: 'smooth'
          });

          // Create floating notes effect
          const notes = ['♪', '♫', '♬'];
          for(let i = 0; i < 3; i++) {
            const note = document.createElement('span');
            note.textContent = notes[Math.floor(Math.random() * notes.length)];
            note.style.cssText = `
              position: absolute;
              color: #00ffff;
              font-size: 24px;
              top: ${50 + Math.random() * 100}px;
              left: ${50 + Math.random() * (this.carousel.offsetWidth - 100)}px;
              animation: rs-floatingNotes 1s ease-out ${i * 0.2}s forwards;
              pointer-events: none;
            `;
            this.carousel.appendChild(note);
            setTimeout(() => note.remove(), 1000 + i * 200);
          }
        }

        bindEvents() {
          this.prevButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex - 1));
          this.nextButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex + 1));

          window.addEventListener('resize', () => {
            const newCardsPerView = Math.floor(this.carousel.offsetWidth / this.cardWidth);
            const newMaxIndex = this.cards.length - newCardsPerView;
            this.currentIndex = Math.min(this.currentIndex, newMaxIndex);
            this.scrollToIndex(this.currentIndex);
          });
        }
      }

      document.addEventListener('DOMContentLoaded', function() {
        new RadioStreamrCarousel('.rs-carousel-section');
      });
    })();
  </script>
</body></html>				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-0d0797d e-con-full e-flex e-con e-parent" data-id="0d0797d" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
				<div class="elementor-element elementor-element-9260360 elementor-widget elementor-widget-shortcode" data-id="9260360" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"></div>
						</div>
				</div>
				</div>
				</div>
		<p>L’article <a href="https://radiostreamr.com/radio-france/podcast-olivier-delacroix/">🗣️ Podcast et Replay &#8211; Libre antenne d&rsquo;Olivier Delacroix  &#8211; Europe 1</a> est apparu en premier sur <a href="https://radiostreamr.com/radio-france">RadioStreamR - Ecoutez la Radio française en ligne en direct</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://radiostreamr.com/radio-france/podcast-olivier-delacroix/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
