.station-description {
    color: #fff;
    opacity: 0.6;
}

.station-img {
    border: 3px solid #ffffff00;
    padding: 0.15rem;
}

.player-artwork {
    padding: 0.75rem;
    border-radius: 1rem;
    background-color: #ffffff00;
}

.player-artwork img {
    border-radius: 0.65rem;
    box-shadow: var(--shadow-xl);
}

.player-cover-image {
    animation: backgroundMotion 20s ease-in-out infinite;
}

.animateMic {
    animation: animMicro 4s ease 0s infinite normal forwards;
}

.player-button-chat svg {
    animation: chatPulse 1.5s ease-in-out infinite;
    transform-origin: center;
}

@keyframes chatPulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.12);
        opacity: 0.85;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes bga {
    50% {
        transform: scale(0.7);
    }
}

@keyframes animMicro {

    0% {
        transform: rotate(0deg);
        transform-origin: 50% 50%;
    }

    10% {
        transform: rotate(8deg);
    }

    20% {
        transform: rotate(-10deg);
    }

    30% {
        transform: rotate(10deg);
    }

    40% {
        transform: rotate(-10deg);
    }

    50% {
        transform: rotate(10deg);
    }

    60% {
        transform: rotate(-10deg);
    }

    70% {
        transform: rotate(10deg);
    }

    80% {
        transform: rotate(-8deg);
    }

    90% {
        transform: rotate(8deg);
    }

    100% {
        transform: rotate(0deg);
        transform-origin: 50% 50%;
    }
}

@keyframes blur-pulse {

    0%,
    100% {
        filter: blur(0.3rem);
    }

    50% {
        filter: blur(0rem);
    }
}

@keyframes backgroundMotion {
    0% {
        transform: scale(1) translate(0, 0);
        filter: blur(0.2rem);
    }

    50% {
        transform: scale(1.02) translate(1%, 1%);
        filter: blur(0rem);
    }

    100% {
        transform: scale(1) translate(0, 0);
        filter: blur(0.2rem);
    }
}

.items-start {
    align-items: flex-start;
    margin-top: 15px;
}

.annuaire {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 2rem;
    justify-items: center;
    padding: 1rem;
    margin: 0 auto;
    max-width: 100%;
    box-sizing: border-box;
}

.img-annuaire {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    height: 100px;
    object-fit: contain;
}

#modal-annuaire .modal-content {
    max-height: 70vh;
    overflow-y: auto;
}

#modal-playlist .modal-content {
    max-height: 70vh;
    overflow-y: auto;
}

@media (max-width: 768px) {
    .annuaire {
        grid-template-columns: repeat(2, 1fr);
    }

    .img-annuaire {
        max-width: 100px;
        max-height: 75px;
    }

    @keyframes backgroundMotion {
        0% {
            transform: scale(1) translate(0, 0);
            filter: blur(0.1rem);
            opacity: 0;
        }

        50% {
            transform: scale(2.50) translate(1%, 1%);
            filter: blur(0rem);
            opacity: 1;
        }

        100% {
            transform: scale(1) translate(0, 0);
            filter: blur(0.1rem);
            opacity: 0;
        }
    }

    .player-cover-image {
        object-fit: contain;
    }
}

.comments-section {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.comments-list {
  max-height: 200px;
  overflow-y: auto;
  padding: 0.5rem;
  background: #111;
  border-radius: 6px;
  font-size: 0.9rem;
}

.comment {
  padding: 0.5rem;
  margin-bottom: 0.5rem;
  background: #1e1e1e;
  border-radius: 4px;
}

.comment-date {
  font-size: 0.7rem;
  opacity: 0.6;
}

.comment-form {
  display:grid;
  align-items: flex-end;
  gap: 0.5rem;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: flex-end;
    justify-content: space-around;
    padding-bottom: 1rem;
}

#comment-input {

  flex: 1;

  background: #ffffff;
  color: #000000;
  caret-color: #000000;

  resize: none;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;

  height: 2.4rem;
  padding: 0 2.8rem;          /* padding raisonnable */
  line-height: 2.4rem;       /* centre verticalement */
  box-sizing: border-box;

  border-radius: 999px;      /* bords bien arrondis */
  border: none;

  text-align: center;        /* centre horizontalement */
}

#comment-form button:hover {
  background: #ffa726;
}
#comment-input::placeholder {
  color: #777;
}

#comment-form button {
  align-self: flex-end;
}