/* Song-Voting Frontend v3 — Cover+Content oben, Tabelle darunter.
   Zeile: Titel | Player | 5 Sterne | Anzahl-Kasten | Download.
   Alles auf einer gemeinsamen Mittelachse ausgerichtet. */

.song-wrap{ color:#000; }
.song-wrap h2, .song-wrap h3{ color:#002040; }

/* ===== Oben: Cover + Content ===== */
.song-top{
	display:flex;
	gap:24px;
	align-items:flex-start;
	margin-bottom:20px;
}
@media (max-width:700px){
	.song-top{ flex-direction:column; }
}

.song-cover{
	flex:0 0 320px;
	width:320px;
	aspect-ratio:1/1;
	border-radius:4px;
	overflow:hidden;
	background:#eee;
}
@media (max-width:700px){
	.song-cover{ flex-basis:auto; width:100%; }
}
.song-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.song-cover-fallback{
	width:100%; height:100%; display:flex; align-items:center; justify-content:center;
	background:rgba(0,0,0,0.06);
}
.song-cover-fallback svg{ width:30%; height:30%; opacity:0.25; }

.song-content{
	flex:1 1 auto;
	min-width:0;
	color:#000;
	line-height:1.6;
}
.song-content p:first-child{ margin-top:0; }

/* ===== Tabelle ===== */
.song-table{
	width:100%;
	background:#fff;
	border-radius:4px;
	overflow:hidden;
}

.song-row{
	display:flex;
	align-items:center;   /* alle Kindelemente auf gemeinsamer vertikaler Mitte */
	gap:16px;
	padding:10px 16px;
	border-bottom:1px solid rgba(0,0,0,0.08);
	color:#000;
}
.song-row:last-child{ border-bottom:none; }

.song-row-title{
	flex:0 0 180px;
	font-weight:700;
	color:#002040;
	line-height:1.3;
}

.song-row-player{
	flex:1 1 auto;
	min-width:0;
	display:flex;
	align-items:center;
	padding-top:10px;
}
/* WordPress/MediaElement-Player exakt in der Zeile zentrieren, kein Eigen-Versatz —
   KEINE festen Höhen hier setzen, das bricht die interne Positionierung von
   Zeitanzeige/Regler im Player. */
.song-row-player .mejs-container{
	width:100% !important;
	margin:0 !important;
	vertical-align:middle;
}
.song-row-player .mejs-offscreen{ position:absolute !important; } /* nur für Screenreader, kein Layout-Einfluss */
.song-row-player audio{ width:100%; vertical-align:middle; }

.song-row-stars{
	flex:0 0 auto;
	display:flex;
	align-items:center;
	gap:2px;
}
.sv-star-btn{
	background:none; border:none; cursor:pointer; padding:2px;
	font-size:20px; line-height:1; color:rgba(0,0,0,0.2);
}
.sv-star-btn.filled,
.sv-star-btn.hover-fill{ color:#e0a800; }
.sv-star-btn:disabled{ cursor:default; }

.song-row-count{
	flex:0 0 auto;
	min-width:34px;
	text-align:center;
	background:rgba(0,0,0,0.06);
	border-radius:4px;
	padding:4px 8px;
	font-weight:700;
	font-size:13px;
	color:#002040;
}

.song-row-dl{
	flex:0 0 auto;
	width:34px; height:34px;
	display:flex; align-items:center; justify-content:center;
	border:1px solid rgba(0,0,0,0.15); border-radius:4px;
	color:#000; text-decoration:none;
}
.song-row-dl:hover{ border-color:#808080; background:rgba(128,128,128,0.08); }
.song-row-dl svg{ width:15px; height:15px; fill:currentColor; }

@media (max-width:700px){
	.song-row{ flex-wrap:wrap; }
	.song-row-title{ flex-basis:100%; }
	.song-row-player{ flex-basis:100%; order:1; }
	.song-row-stars{ order:2; }
	.song-row-count{ order:3; }
	.song-row-dl{ order:4; }
}
