@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


body {
    font-family: Inter;
    display: flex;
    min-height: 100vh;
    background-color: #ffffff;
    margin: 0;
    align-self: center;
    flex-direction: column;
    align-items: center;
}



.container {
    max-width: 420px;
    width: 100%;
    padding: 20px;
    background-color: #fff;
    row-gap: 48px;
    height: 100%;
}

.fixed{
    position: fixed;
    background-color: white;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: space-between;
    padding: 30px;
    width: 100%;
    z-index: 1000;

}

h2{
    font-size: 16px;
    font-weight: 600;
}

.results {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.ep-item {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.logo {
    text-align: center;
    margin-bottom: 4rem;
}

.logo img {
    max-width: 150px;
}


h1 {
    font-size: 18px;
    color: black;
    margin-bottom: 20px;
}

.signup-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.form-group {
    display: flex;
    flex-direction: column;
    text-align: left;
}

label {
    font-size: 14px;
    margin-bottom: 5px;
    color: #000000;
    font-weight: 400;
}

input[type="text"],
input[type="email"],
input[type="password"] {
    width: 100%;
    padding: 10px;
    font-size: 14px;
    border: 1px solid #ddd;
    border-radius: 5px;
    outline: none;
    font-family: Inter;
}

::placeholder {
    color: #94A3B8;
  }

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus {
    border-color: #333;
}

.increase {
    width:15px;
    height:15px;
}

.password-wrapper {
    position: relative;
}

.toggle-password {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}

button[type="submit"] {
    background-color: #000;
    color: #fff;
    padding: 10px 15px;
    font-size: 14px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
    font-family: Inter;
    height: 44px;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
}

button[type="submit"]:hover {
    background-color: #333;
}

button[type="submit-secondary"] {
    background-color: #E7E7E7;
    border: #BBBBBB 1px solid;
    color: #000;
    padding: 10px 15px;
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
    font-family: Inter;
    height: 44px;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center; 
}

button[type="submit-secondary"]:hover {
    background-color: #d7d7d7;
}

.login-link {
    margin-top: 15px;
    font-size: 14px;
    color: #475569;
    text-align: center;
}

.login-link a {
    color: #000;
    text-decoration: none;
    text-align: center;
}

.login-link a:hover {
    text-decoration: underline;
}


.header {
    display: flex;
    justify-content: end;
    align-items: center;
    margin-bottom: 20px;
}

.header-page {
    max-width: 420px;
    width: 100%;
    background-color: #000000;
    color: #D6D6D6;
    padding: 40px 32px;
    display: flex;
    flex-direction: row;
    align-items: end;
    margin-bottom: 28px;
    justify-content: space-between;
  }


.header-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  
  .header-details {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    gap: 16px;
  }
  
  .header-date, .header-duration {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  
  .icon {
    margin-right: 5px;
  }
  
  .header-title {
    font-size: 16px;
    font-weight: 600;
    color: white;
    margin: 0;
  }
  
  .header-author {
    font-size: 12px;
    color: #cccccc;
  }
  

.user-info {
    max-width: 420px;
    margin-bottom: 30px;
}

.user-info h2 {
    font-size: 20px;
    color: black;
    font-weight: bold;
    margin-bottom: 5px;
}

.user-info p {
    font-size: 14px;
    color: #777;
}

.user-avatar img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin: 0 auto;
}

.profile-picture {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 auto;
}

.featured-podcast {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #000000;
    padding: 16px 20px;
    border-radius: 10px;
    margin-bottom: 48px;
    font-size: 12px;
    color: #D6D6D6;
}

.podcast-details {
    display: flex;
    flex-direction: column;
    gap: 5px; /* Ajout du gap */
}

.podcast-details h3 {
    color: white;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 5px; /* Vous pouvez ajuster ou supprimer ce margin si nécessaire */
}

.podcast-play-button {
    background-color: black;
    color: white;
    border: none;
    border-radius: 50%;
    padding: 10px 11px;
    font-size: 16px;
    cursor: pointer;
}

.favorites {
    margin-bottom: 48px;
    gap: 24px;
}

.bottom{
    margin-bottom: 100px;
}


.favorites h3 {
    font-size: 16px;
    margin-bottom: 24px;
    color: #333;
}

.radios {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 10px;
}

.radios a {
    text-decoration: none;
    color: #000;
}

.radios::-webkit-scrollbar {
    display: none; 
}

.radio-card {
    background-color: #d0d0d0;
    padding: 10px;
    border-radius: 4px;
    text-align: center;
    font-size: 14px;
    color: white;
    font-family: Inter;
    font-size: 18px;
    font-weight: bold;
    justify-content: center;
    align-items: center;
}

.franceinter{
    background-color: #E20134;
}

.franceculture{
    background-color: #762B84;
}

.europe1{
    background-color: #005EA8;
}

.francemusique{
    background-color: #A90042;
}

.podcasts li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.podcast-info {
    display: flex;
    max-width: 100%;
    flex-direction: column;
}


.podcast-info h3{
    color: black;
}

.review{
    gap: 12px;
    margin-bottom: 24px;
}

.review h3{
    font-size: 16px;
    font-weight: 600;
}



.podcast-rank {
    font-weight: bold;
    font-size: 16px;
    color: red;
    margin-right: 5px;
}

.channel{
    gap: 24px;
    font-size: 18x;
    font-weight: 500;
}
.channel p{
    margin-top: 8px;
}

.sport {
    background-color: #ffcc99;
    padding: 10px;
    border-radius: 5px;
}

.art {
    background-color: #99ccff;
    padding: 10px;
    border-radius: 5px;
}

.science {
    background-color: #99ffcc;
    padding: 10px;
    border-radius: 5px;
}

.notification {
    background-color: red;
    color: white;
    border-radius: 50%;
    padding: 5px 10px;
    margin-left: auto;
}

.mic-button {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: black;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.mic-button button {
    background-color: transparent;
    border: none;
    color: white;
    font-size: 32px;
    cursor: pointer;
}


.podcasts {
    max-width: 400px;
    margin: 0 auto;
    padding: 20px;
}

.podcasts h2 {
    font-size: 18px;
    margin-bottom: 20px;
}

.podcast-item {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    gap: 8px;
    padding: 0px;
    justify-content: space-between;

}

.podcast-item-link{
    max-width: 80%;
}

.separator{
    border-bottom: 1px solid #CBD5E1;
}

.podcast-icon {
    width: 50px;
    height: 50px;
    border-radius: 8px;
    margin-right: 15px;

}



.podcast-info h3 {
    font-size: 16px;
    margin: 0;
}

.podcast-info p {
    font-size: 14px;
    color: #666;
    margin: 5px 0 0;
    vertical-align: middle;
}

.play-button {
    margin-left: auto;
    padding: 8px;
    background-color: #CBD5E1;
    border: none;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    cursor: pointer;
    max-height: 32px;
}


.title h1{
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 12px;
}

.title p{
    font-size: 16px;
    color: #475569;
    font-weight: 300;
    margin-bottom: 42px;
    margin-top: 12px;
}


.podcast-type {
    color: #475569;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    
}



.author{
    align-items: center;
    gap: 8px;
    display: flex;
    flex-direction: row;
    font-weight: 600;
    vertical-align: bottom;
}

.author p{
    margin: 0px;
}

.productor p{
    font-size: 16px;
    font-weight: 500;
    margin-top: 24px;
    margin-bottom: 8px;
}

.author img{
    vertical-align: bottom;
}


.truncate {
    display: -webkit-box; /* Use box layout for multi-line support */
    -webkit-box-orient: vertical; /* Set the box layout orientation */
    overflow: hidden; /* Hide overflowing content */
    text-overflow: ellipsis; /* Add ellipsis for overflowing text */
    -webkit-line-clamp: 2; /* Change the number to control how many lines are shown */
    max-width: 100%; /* Adjust max width as needed */
}


.description-truncate {
    display: -webkit-box; /* Use box layout for multi-line support */
    -webkit-box-orient: vertical; /* Set the box layout orientation */
    overflow: hidden; /* Hide overflowing content */
    text-overflow: ellipsis; /* Add ellipsis for overflowing text */
    /*-webkit-line-clamp: 4; /* Change the number to control how many lines are shown */
    max-width: 100%; /* Adjust max width as needed */
}

.player-description-truncate {
    display: -webkit-box; /* Use box layout for multi-line support */
    -webkit-box-orient: vertical; /* Set the box layout orientation */
    overflow: hidden; /* Hide overflowing content */
    text-overflow: ellipsis; /* Add ellipsis for overflowing text */
    -webkit-line-clamp: 4; /* Change the number to control how many lines are shown */
    max-width: 100%; /* Adjust max width as needed */
}

.img-playlist{
    height: 200px;
    max-width: 420px;
    width: 100%;
    background-color: #FFAF81;
    padding: 32px;
    margin-bottom: 28px;
}

a{
    text-decoration: none;
}












.profile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 48px;
    width: 55%;
}

.profile-header h1 {
    font-weight: 600;
    margin-bottom: 0px;
}

.back-button {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
}

.profile-info {
    text-align: center;
    margin-bottom: 20px;
}

.profile-picture {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 auto;
}

.profile-picture img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.edit-button {
    position: absolute;
    bottom: 0;
    right: 0;
    background: black;
    color: white;
    border: none;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 6px;
    border: white solid 2px;
}

.profile-info h2 {
    font-size: 24px;
    margin: 10px 0 5px 0;
}

.profile-info .email,
.profile-info .status {
    color: #666;
    margin-bottom: 5px;
}

.logout-button {
    color: red;
    background: none;
    border: none;
    font-size: 16px;
    margin-bottom: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logout-icon {
    font-size: 20px;
    margin-left: 8px;
}

.preferences-section {
    border-top: 1px solid #ddd;
    padding-top: 24px;
}

.preferences-section h3 {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 32px;
}

.preferences-list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 24px;
}

.preferences-list li {
    margin-bottom: 24px;
    list-style: none;
}

.preferences-list strong {
    font-weight: 200;
}





/* Bouton pour ouvrir la boîte de dialogue */
#open-dialog-button {
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
}

/* Style pour le dialogue */
dialog {
    border: none;
    border-radius: 8px;
    padding: 32px 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    max-width: 400px;
    width: 90%;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: start;
}

dialog h2{
    font-size: 24px;
    color: black;
    margin-bottom: 12px;
}

dialog p{
    color: #475569;
    font-weight: 300;
    font-size: 16px;
}

dialog::backdrop {
    background: rgba(0, 0, 0, 0.5);
}

/* Bouton pour fermer la boîte de dialogue */
#close-dialog-button {
    padding: 10px 20px;
    background-color: #dc3545;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    margin-top: 20px;
}

#close-info-button {
    margin-bottom: 24px;
}

#close-ep-button {
    margin-bottom: 24px;
}

.principal-info-podcast {
    border-bottom: #CBD5E1 solid 1px ;
}

.principal-info-podcast p{
    margin-bottom: 24px;
}




.chat-container {
    width: 420px;  /* Fixed width */
    height: 600px; /* Fixed height */
    display: flex;
    flex-direction: column;
    height: 100vh;
    max-width: 420px;
    margin: 0 auto;
    border: 1px solid #ccc;
    background-color: white;
}
.chat-header {
        display: flex;
        align-items: center;
        justify-content: center; /* Center the title horizontally */
        position: fixed; /* Fix the header to the top */
        top: 0; /* Position it at the top */
        left: 0; /* Ensure it stretches to the left */
        width: 100%; /* Full width */
        height: 60px; /* Set a height for the header */
        border-bottom: 1px solid #ddd; /* Border styling */
        background-color: #fff; /* Add background color to prevent overlap issues */
        z-index: 1000; /* Ensure it stays on top */
    }

.chat-header a {
            position: absolute; /* Absolute position for the back button */
            left: 10px; /* Position it on the left */
            top: 50%; /* Center vertically */
            transform: translateY(-50%); /* Adjust for vertical centering */
        }

.chat-header h1 {
    font-size: 18px;
    margin: 0;
    margin-left: 10px;
}

.back-button {
    text-decoration: none;
    font-size: 20px;
    color: black;
}

.chat-body {
    padding-top: 60px; /* space for the fixed header */
    padding-bottom: 80px; /* space for the fixed footer */
    overflow-y: auto;
    flex: 1;
    margin-top: 24px;
}

.message {
    padding: 10px 20px;
    margin: 10px;
    border-radius: 15px;
    max-width: 75%;
    word-wrap: break-word;
}

.received {
    background-color: #f1f1f1;
    align-self: flex-start;
}

.sent {
    background-color: #4A90E2;
    color: white;
    align-self: flex-end;
}

.chat-footer {
    display: flex;
    align-items: center;
    padding: 10px;
    border-top: 1px solid #ccc;
    background-color: white;
    position: fixed;
    bottom: 0;
    width: 100%;
    max-width: 420px;
}

.chat-footer input {
    flex: 1;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 8px;
    outline: none;
}

.chat-footer button {
    background-color: black;
    border: none;
    margin-left: 10px;
    border-radius: 8px;
    padding: 10px;
    cursor: pointer;
}

.chat-footer button img {
    width: 20px;
    height: 20px;
    display: block;
}

.load {
    border: none;
    border-radius: 8px;
    padding: 32px 20px;
    max-width: 400px;
    width: 90%;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: start;
}

.load h2{
    font-size: 24px;
    color: black;
    margin-bottom: 12px;
}

.load p{
    color: #475569;
    font-weight: 300;
    font-size: 16px;
}



        

.podcast-icon img {
            width: 60px;  /* Set a fixed width for podcast icons */
            height: 60px; /* Set a fixed height for podcast icons */
            object-fit: cover; /* Ensure the image fits well within the square */
            margin-right: 10px; /* Spacing to the right of the icon */
            border-radius: 8px; /* Optional: round the corners */
}
.podcast-item {
            display: flex; /* Display flex for proper alignment */
            align-items: center; /* Center items vertically */

}

.podcast-info {
            display: flex; /* Align the icon and text horizontally */
            flex-direction: column; /* Stack text vertically */
}
        
        /* Add styles for the small icons */
.channel-icon {
            width: 100px;  /* Fixed width for the banner */
            height: 100px; /* Fixed height for the banner */
            object-fit: cover; /* Ensure the image fits well within the square */
            margin-bottom: 5px; /* Spacing below the icon */
            border-radius: 8px; /* Optional: round the corners */
}
.channel-card {
            display: flex; /* Display flex for proper alignment */
            flex-direction: column; /* Stack the items vertically */
            text-align: center; /* Center text */
}
.radio-card {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100px; /* Width for consistency */
            aspect-ratio: 1;
            color: white; /* Text color */
            border-radius: 8px; /* Optional: round the corners */
            font-size: 18px; /* Adjust text size */
            text-align: center; /* Center text */
            padding: 10px; /* Padding inside the card */
}

.img-playlist {
            width: 100%;  /* Full width */
            height: 200px;  /* Fixed height */
            background-size: cover;  /* Cover the entire area */
            background-position: center;  /* Center the image */
            margin-bottom: 20px;  /* Spacing below the image */
            position: relative;  /* Position relative for the back button */
}
.img-playlist a {
            position: absolute;  /* Position the back button inside the banner */
            top: 10px;  /* 10px from the top */
            left: 10px;  /* 10px from the left */
}

.episode-item {
    display: none;
}

.show-more + .episode-item {
    display: block;
}

#show-more-button{
    font-family: Inter;
    width: 100%;
    padding: 20px;
    font-size: 14px;
}

.centered-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.episode-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.episode-header h3 {
    margin: 0;
}

/* Add styles for dynamic background image */
.img-playlist {
    width: 100%;  /* Full width */
    height: 200px;  /* Fixed height */
    background-size: cover;  /* Cover the entire area */
    background-position: center;  /* Center the image */
    margin-bottom: 20px;  /* Spacing below the image */
    position: relative;  /* Position relative for the back button */
}
.img-playlist a {
    position: absolute;  /* Position the back button inside the banner */
    top: 10px;  /* 10px from the top */
    left: 10px;  /* 10px from the left */
    text-decoration: none;  /* Remove underline */
}

        /* CSS to make channel names bold and smaller */
.channel-card p {
            font-weight: bold;  /* Make the text bold */
            font-size: 0.9em;  /* Slightly smaller font size */
            margin: 5px 0;  /* Add some margin for spacing */
}
.user-avatar {
    width: 48px;  /* Adjust the size as needed */
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%; /* To keep the avatar in a circle */
    overflow: hidden;
}

.user-initial {
    background-color: #ccc; /* Gray background color */
    color: #fff; /* White text color */
    width: 100%;
    height: 100%;
    border-radius: 50%; /* Circle */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px; /* Adjust font size */
    font-weight: bold; /* Bold text */
    text-transform: uppercase; /* Ensure the initial is uppercase */
}

.profile-picture {
    position: relative;
    width: 80px; /* Ajustez la taille comme vous le souhaitez */
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.profile-initial {
    background-color: #ccc; /* Couleur de fond grise */
    color: #fff; /* Couleur du texte */
    width: 100%;
    height: 100%;
    border-radius: 50%; /* Cercle */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px; /* Taille de la police */
    font-weight: bold; /* Met le texte en gras */
}













.audio-player-container {
    max-width: 420px;
    padding: 20px;
    width: 100%;
    background-color: #fff;
    text-align: center;
    position: relative;
}

.player-header {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 90px;
}

.close-btn {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    padding: 5px;
}

.cover-art {
    border-radius: 8px;
    margin-bottom: 28px;
    width: 200px;
    aspect-ratio: 1;
    align-items: center;
}

.cover-art-radio{
    border-radius: 8px;
    margin-bottom: 28px;
    width: 330px;
    aspect-ratio: 1;
    padding: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.track-info h2 {
    font-size: 20px;
    font-weight: 600;
    color: white;
}


.cover-art img {
    width: 100%;
    border-radius: 10px;
    height: 100%;
}

.track-info{
    gap: 8px;
    display: flex;
    flex-direction: column;
    margin-bottom: 28px;
    width: 100%;
}

.track-info h2 {
    font-size: 20px;
    font-weight: 600;
    color: white;
}

.track-info p {
    font-size: 16px;
    color: #888;
}


.more-info {
    display: flex;
    flex-direction: row;
    gap: 8px;
    justify-content: center;
}

.progress-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 36px;
    flex-direction: column;
    width: 100%;
    gap: 16px;
}

.progress-bar p {
    font-size: 12px;
    color: #686363;
}

.time{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
}

.progress-bar .progress {
    margin: 0 10px;
    background: #000;
    height: 5px;
    border-radius: 5px;
    outline: none;
    width: 100%;
}

.progress-bar .progress::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 15px;
    height: 15px;
    background-color: #000;
    border-radius: 50%;
    cursor: pointer;
}

.controls-radio{
    display: flex;
    justify-content: center;
    align-items: center;
}

.controls {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    max-width: 420px;
}

.user-invite{
    display: flex;
    flex-direction: row;
    gap: 8px;
    text-align: center;
    justify-content: center;
}

.pause{
    align-items: center;
    display: flex;
    gap: 24px;
}

.controls .control-btn {
    background: none;
    border: none;
    padding: 10px;
    cursor: pointer;
}

.controls .control-btn img {
    width: 24px;
    height: 24px;
}

.play-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    margin: 0 10px;
}

.play-btn img {
    width: 30px;
    height: 30px;
}

.podcast-issu {
    color: #475569;
    font-size : 14px;
    font-weight : 600;
}

.podcast-author {
    display: -webkit-box; /* Utilise Flexbox pour la gestion de l'affichage */
    -webkit-line-clamp: 1.5; /* Limite le texte à 2 lignes */
    -webkit-box-orient: vertical; /* Définit l'orientation de la boîte */
    overflow: hidden; /* Cache le texte qui dépasse */
    text-overflow: ellipsis; /* Ajoute des points de suspension pour le texte tronqué */
    max-height: 3em; /* Hauteur maximale pour 2 lignes de texte */
    line-height: 1.5em; /* Hauteur de ligne */
}










.main-button {
    position: fixed;
    bottom: 20px;
    background-color: black;
    color: white;
    border: none;
    border-radius: 50%;
    width: 91px;
    height: 91px;
    font-size: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.main-button:active {
    transform: scale(0.95);
}

.icon-container {
    position: fixed;
    bottom: 120px;
    display: flex;
    justify-content: space-between;
    width: 200px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.secondary-button {
    background-color: #F2F2F2;
    color: black;
    border: none;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    font-size: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border: #DFDFDF solid 1px;
    box-shadow: -4px 4px 24px rgba(0, 0, 0, 0.16);
}



.secondary-button:hover {
    background-color: #e9ecef;
}

.icon-container.show {
    opacity: 1;
    pointer-events: auto;
    animation: fadeIn 0.3s cubic-bezier(0.86, 0, 0.07, 1); /* Optional fade-in for the entire container */
}

/* Keyframes for an entrance animation */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(50%);
        scale: 0.8;
    }
    to {
        opacity: 1;
        scale: 1;
        transform: translateY(0%);
    }
}

















.fade-in {
    display: none; 
}
.loading-message {
    font-style: italic;
    color: #888;
    display: inline-block;
    margin-top: 10px;
}
.dots {
    display: inline-block;
    width: 1em;
    height: 1em;
    border-radius: 50%;
    background-color: #888;
    margin-left: 2px;
    animation: blink 1.4s infinite both;
}
.dots:nth-child(2) {
    animation-delay: 0.2s;
}
.dots:nth-child(3) {
    animation-delay: 0.4s;
}
@keyframes blink {
    0%, 80%, 100% {
        opacity: 0;
    }
    40% {
        opacity: 1;
    }
}

.capitalize-first {
    text-transform: capitalize;
}








/* CSS pour la partie "Reprendre la lecture"*/


.continue {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    background-color: #F4F4F4;
    border-radius: 8px;
}


.truncate2 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block; /* ou inline-block si c'est dans un élément inline */
    max-width: 100%; /* Ajuste la largeur maximale */
  }

.episode-info{
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-width: 80%;
}

.episode-info p{
    font-weight: 600;
    color: #8C8C8C;
    font-size: 13px;
}

.episode-info h2{
    font-weight: 600;
    font-size: 16px;
    color: #000;
}





.simple-range {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 8px; /* Hauteur de la barre */
    background: transparent; /* On utilise un dégradé pour gérer le fond */
    outline: none;
  }
  
  /* Style de la barre (le "track") */
  .simple-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 4px;
    background: linear-gradient(to right, #000 50%, #ccc 50%); /* Dégradé entre noir (track complet) et gris (track restant) */
    border-radius: 4px;
  }
  
  /* Curseur (le "thumb") */
  .simple-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 50%;
    cursor: pointer;
    position: relative;
    z-index: 1; /* Assure que le curseur soit devant */
  }
  
  /* Pour Firefox */
  .simple-range::-moz-range-track {
    background: linear-gradient(to right, #000 50%, #ccc 50%);
    border-radius: 4px;
    height: 8px;
  }
  
  .simple-range::-moz-range-thumb {
    width: 16px;
    height: 16px;
    background: #000;
    border-radius: 50%;
    cursor: pointer;
  }
  
  /* Pour Internet Explorer et Edge */
  .simple-range::-ms-track {
    width: 100%;
    height: 8px;
    background: transparent;
    border-color: transparent;
    color: transparent;
  }
  
  .simple-range::-ms-fill-lower {
    background: #000;
    border-radius: 4px;
  }
  
  .simple-range::-ms-fill-upper {
    background: #ccc;
    border-radius: 4px;
  }
  
  .simple-range::-ms-thumb {
    width: 16px;
    height: 16px;
    background: #000;
    border-radius: 50%;
    cursor: pointer;
  }










/* CSS pour la suggestion d'écoute */
  
.header h2{
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    margin-top: 10%;
  }

  .suggestion-section {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .podcast-suggestion {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

.margin {
    margin-bottom: 0px;
}


  .title-section{
    color: #475569;
    font-size: 10px;
    font-weight: 600;
  }

  .bibliotheque {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }

  .restart {
    padding: 6px;
    border-radius: 6px;
    background-color: #CBD5E1;
    width: 30px;
    height: 30px;
    color: black;
  }










  /*Pop up*/

.open-popup-button {
    background-color: white;
    font-size: 16px;
    border: none;
    cursor: pointer;
    border-radius: 5px;
}



.popup {
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    display: none; /* Cachée par défaut */
}

.popup-content {
    border-radius: 10px;
    text-align: start;
    width: 90%;
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-width: 420px;
    margin-bottom: 200px;
}



.close-button {
    position: rel;
    top: 10px;
    right: 10px;
    font-size: 40px;
    cursor: pointer;
}

.close-popup-button {
    padding: 10px 20px;
    font-size: 16px;
    background-color: #f44336;
    color: white;
    border: none;
    cursor: pointer;
    border-radius: 5px;
}

.close-popup-button:hover {
    background-color: #e53935;
}

.loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.spinner {
    border: 4px solid rgba(0, 0, 0, 0.1);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border-left-color: #000;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.assistant-section {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.assistant-button {
    align-items: center;
    background-color: #000000;
    color: #fff;
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    text-decoration: none;
    font-family: Inter;
    width: 100%;
}

.assistant-button:hover {
    background-color: #354153;
}



/* Conteneur pour l'icône et le titre */
.title-container {
    display: flex;
    align-items: center;
    margin-bottom: 10px;  /* Ajouter de l'espace sous le conteneur */
    cursor: pointer;
}

/* Style de l'icône de thème */
.theme-icon {
    width: 24px;
    height: 24px;
    margin-right: 10px;  /* Espace entre l'icône et le titre */
}

/* Style du titre de l'épisode */
.episode-title {
    font-size: 16px;
    font-weight: bold;
    color: #333;
}

/* Style de la date de l'épisode */
.episode-date {
    font-size: 14px;
    color: #666;
}

/* Style de la durée de l'épisode */
.episode-duration {
    font-size: 14px;
    color: #666;
}


#speech-toggle button {
    transition: background-color 0.3s ease, transform 0.3s ease;
}

#speech-toggle button:hover {
    background-color: #45a049;
    transform: scale(1.05);
}


/* affichage des series dans la page podcast */

.toggle-series {
    cursor: pointer;
    font-size: 14px; /* Taille de base */
    transition: font-size 0.2s ease-in-out;
}

/* Au survol */
.toggle-series:hover {
    font-size: 20px; /* Taille agrandie au survol */
    font-weight: bold; /* Mettre en gras pour accentuer */
    color: #1f2937; /* Optionnel : changer la couleur */
}



.toggle-series.collapsed::after {
    transform: rotate(-90deg); /* Tourne la flèche */
}

.series-title {
    margin-bottom: 20px; /* Ajoute un espace en bas de chaque titre */
}

.hidden {
    display: none;
}

.collapsed {
    font-weight: bold;
    cursor: pointer;
}

button#show-more-series, button#show-more-episodes {
    padding: 10px 20px;
    background-color: #1f2937;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    margin-top: 10px;
}

button#show-more-series:hover, button#show-more-episodes:hover {
    background-color: #374151;
}


