* { box-sizing: border-box; }
body { margin: 0; font-family: var(--font-sans); font-size: 1rem; line-height: 1.6; color: var(--primary-3); background: #f5f5f5; }
.container { max-width: var(--max-width); margin: 0 auto; padding: 0 1rem; }
.btn { display: inline-block; padding: 0.5rem 1rem; font-family: var(--font-sans); font-size: 1rem; border: none; border-radius: 0.25rem; cursor: pointer; text-decoration: none; }
.btn-primary-1 { background: var(--primary-1); color: #fff; }
.btn-primary-2 { background: var(--primary-2); color: #fff; }
.btn-primary-3 { background: var(--accent-3); color: #fff; }
/* Links wie Buttons (z. B. in .card): gleiche Optik wie .btn */
a.link-btn { display: inline-block; padding: 0.5rem 1rem; font-family: var(--font-sans); font-size: 1rem; border: none; border-radius: 0.25rem; cursor: pointer; text-decoration: none; background: var(--primary-1); color: #fff; }
a.link-btn:hover { filter: brightness(1.05); }
a.link-btn-secondary { background: var(--primary-3); color: #fff; }
a.link-btn-secondary:hover { filter: brightness(1.1); }
input, textarea, select { font-family: var(--font-sans); font-size: 1rem; }
label { display: block; margin-bottom: 0.25rem; font-weight: 600; }
input[type="text"], input[type="email"], input[type="password"], input[type="tel"], textarea { width: 100%; padding: 0.5rem 0.75rem; border: 1px solid #ccc; border-radius: 0.25rem; }
.form-group { margin-bottom: 1rem; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 0.5rem 0.75rem; text-align: left; border-bottom: 1px solid #ddd; }
.error { color: var(--accent-3); font-weight: 600; }
/* Lieder: einheitlicher Abstand zwischen Titel und Aktionen */
.song-list { list-style: none; padding-left: 0; }
.song-list .song-item { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #eee; }
.song-list .song-item:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.song-item-title { flex-shrink: 0; }
.song-item-actions { display: inline-flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.song-audio { max-width: 100%; height: 2rem; vertical-align: middle; }
