/* Globales Styling */
body {
    font-family: 'Arial', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
}

/* Header Styling */
header {
    text-align: center;
    padding: 20px;
}

/* Suche: moderner, prominenter Suchbalken */
#search {
    width: 100%;
    padding: 12px 20px;
    margin: 30px auto;
    border: 2px solid #ccc;
    border-radius: 25px;
    font-size: 18px;
    outline: none;
    display: block;
    box-sizing: border-box;
    background-color: #fff;
    transition: all 0.3s ease;
}

/* Suchbalken Fokus */
#search:focus {
    border-color: #4CAF50;
}

/* Ergebnis Container Styling */
#results {
    margin-top: 20px;
    text-align: center;
    width: 100%;
    max-width: 800px;  /* Maximale Breite von 800px */
    margin-left: auto;
    margin-right: auto;
}

/* Interpreten und Songs Titel */
h3 {
    font-size: 24px;
    color: #333;
    margin-top: 20px;
}

/* Ergebnis Div */
#results div {
    background-color: #fff;
    padding: 15px;
    margin: 10px 0;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease;
    position: relative; /* Ermöglicht das Positionieren der Buttons im Container */
}

/* Ergebnis für vorhandene Songs (grün) */
#results .available {
    background-color: #e1f7e1; /* Leicht grün */
}

/* Ergebnis für angeforderte Songs (rot) */
#results .requested {
    background-color: #fde1e1; /* Leicht rot */
}

/* Verlinkte Interpreten */
#results a {
    text-decoration: none;
    color: #0073e6;
    font-weight: bold;
}

#results a:hover {
    text-decoration: underline;
}

/* Button Styling (rechts ausgerichtet) */
button {
    background-color: #4CAF50;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s ease;
}

/* Button Hover */
button:hover {
    background-color: #45a049;
}

/* Neuen Song anfordern */
h2 {
    font-size: 22px;
    color: #333;
    text-align: center;
}

input[type="text"] {
    padding: 10px;
    margin: 10px;
    width: 33%;
    font-size: 16px;
    border-radius: 5px;
    border: 1px solid #ccc;
}

input[type="text"]:focus {
    border-color: #4CAF50;
}

/* Formular immer sichtbar, fixiert unten und mittig */
#request-form-container {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 800px;  /* Maximale Breite von 800px */
    padding: 10px;
    background-color: #f4f4f4;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Formular Elemente in einer Zeile */
#request-form {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between;
}

/* Eingabefelder und Button im Formular */
.request-input {
    padding: 10px;
    margin-right: 10px;
    width: 45%;
    font-size: 16px;
    border-radius: 5px;
    border: 1px solid #ccc;
}

.request-input:focus {
    border-color: #4CAF50;
}

/* Button Styling */
.request-button {
    background-color: #4CAF50;
    color: white;
    border: none;
    padding: 10px 20px;
	bottom: 0;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s ease;
    width: 20%;
	position: relative;
}

/* Button Hover */
.request-button:hover {
    background-color: #45a049;
}

/* Interpreten-Gruppierung */
h2 {
    font-size: 24px;
    color: #333;
    margin-top: 30px;
    text-transform: uppercase; /* Buchstaben sollen groß sein */
}

/* Raster Layout für die Interpreten */
.artist-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 Spalten */
    gap: 20px;
    margin-bottom: 40px;
}

/* Stil für jeden Interpreten */
.artist-item {
    background-color: #fff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.artist-link {
    text-decoration: none;
    color: #0073e6;
    font-weight: bold;
    display: block;
}

.artist-link:hover {
    text-decoration: underline;
}

/* Responsive: Weniger Spalten bei kleinen Bildschirmen */
@media (max-width: 768px) {
    .artist-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 Spalten */
    }
}

@media (max-width: 480px) {
    .artist-grid {
        grid-template-columns: 1fr; /* 1 Spalte */
    }
}
/* Gruppen-Titel für Künstler */
h2 {
    font-size: 24px;
    color: #333;
    margin-top: 30px;
    text-transform: uppercase;
}

/* Grid für Songs */
.song-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 Spalten */
    gap: 20px;
    margin-bottom: 40px;
}

/* Stil für jedes Song-Element */
.song-item {
    background-color: #fff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
}

/* Status-Styling */
.song-status {
    display: block;
    margin-top: 5px;
    font-size: 14px;
}

.available {
    color: green;
}

.requested {
    color: orange;
}

/* Likes */
.song-likes {
    margin-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.song-likes button {
    background-color: #0073e6;
    color: white;
    border: none;
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
}

.song-likes button:disabled {
    background-color: gray;
    cursor: not-allowed;
}

#content {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px 20px 100px 20px;
}

.songlist {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Responsive: Weniger Spalten bei kleineren Bildschirmen */
@media (max-width: 768px) {
    .song-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 Spalten */
    }
    #request-form {
        flex-wrap: wrap; /* Erlaubt Zeilenumbruch */
        justify-content: space-between;
    }

    .request-input {
        flex: 1; /* Beide Eingabefelder teilen sich eine Zeile */
    }

    .request-button {
        width: 100%; /* Der Button wird in einer neuen Zeile unter den Eingabefeldern angezeigt */
        margin-top: 10px;
    }
    #content {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px 20px 150px 20px;
}
}

@media (max-width: 480px) {
    .song-grid {
        grid-template-columns: 1fr; /* 1 Spalte */
    }
}
