.song-form [hidden] { display: none; }
.song-progress {
  display: flex; flex-wrap: wrap; gap: .35rem .8rem;
  padding: 0; margin: 1rem 0 .5rem; list-style: none; color: #d8c8ac; font-size: .9rem;
}
.song-progress [aria-current] { color: var(--gold); font-weight: 700; }
.song-form #song-step-status { font-size: .9rem; color: #d8c8ac; }
.song-step { border: 0; margin: 0; padding: 0; min-width: 0; }
.song-step legend { padding: 0; margin: .6rem 0 .8rem; color: var(--gold); font-weight: 700; }
.song-fields { display: grid; gap: .8rem; }
.song-wide { grid-column: 1 / -1; }
.song-form label { display: block; min-width: 0; }
.song-form label > span { color: var(--gold); }
.song-form input, .song-form textarea, .song-form select {
  display: block; width: 100%; min-width: 0; min-height: 44px; margin-top: .25rem; padding: .55rem .65rem;
  border: 1px solid #a58b5d; border-radius: .45rem; background: #071222; color: var(--cream);
  font: inherit; scroll-margin-block: 6rem 2rem;
}
.song-form textarea { resize: vertical; }
.song-form input:focus-visible, .song-form select:focus-visible, .song-form textarea:focus-visible {
  outline: 2px solid var(--gold); outline-offset: 2px;
}
.song-form .small { font-size: .93rem; }
.song-optional { margin: .8rem 0; }
.song-optional summary { cursor: pointer; color: var(--gold); padding-block: .55rem; }
.song-controls, .song-send { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-top: .9rem; }
.song-form button { cursor: pointer; font: inherit; }
.song-form button.cta { font-weight: 700; }
.song-back { min-height: 44px; padding: .45rem; color: var(--cream); background: transparent; border: 0; text-decoration: underline; }
.song-preview h2 { scroll-margin-top: 6rem; }
@media (min-width: 650px) { .song-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.song-jumps { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin-top: 1rem; color: var(--gold); }
.song-jumps a { display: inline-flex; align-items: center; min-height: 44px; }
#song-pakete, #song-ablauf, #song-anfrage { scroll-margin-top: 6rem; }
.song-packages { display: grid; gap: .8rem; margin: 1rem 0; }
.song-package { padding: .9rem; border: 1px solid #967748; border-radius: .65rem; background: #071222; }
.song-package h3, .song-flow h3 { margin: 0; color: var(--cream); }
.song-price { color: var(--gold); font: bold 1.75rem Georgia, serif; margin: .35rem 0 .6rem; }
.song-flow { display: grid; gap: .85rem; padding-inline-start: 1.5rem; }
.song-flow li { padding-inline-start: .35rem; }
.song-flow li::marker { color: var(--gold); font-weight: 700; }
.song-flow p { margin: .35rem 0 0; }
@media (min-width: 760px) { .song-packages { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
