/* Musik, Bühne, Über, Kontakt: Inhalte und Formular. Farben und Schriften kommen aus site.css. */
#musik,#buehne,#ueber,#kontakt{--weich:#c9c8c4;--feld:#0b0b0d;--feldrand:#3a3a41;--rot:#ff9c8f;--gut:#a9d6b0}
.zwischen{font-family:"Metal Mania",Inter,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.07em;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.15;margin:clamp(48px,6vw,84px) 0 0;padding-top:1.4rem;border-top:1px solid var(--linie)}
.absatz{margin-top:2.2rem}
#musik a:not(.knopf),#buehne a:not(.knopf),#kontakt .k-hinweis a{color:var(--fg);text-decoration:underline;text-decoration-color:#5c5c63}
#musik a:not(.knopf):hover,#buehne a:not(.knopf):hover,#kontakt .k-hinweis a:hover{text-decoration-color:var(--fg)}

/* Aufklapper */
#musik summary,#buehne summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:.6em;padding:.35em 0;font-size:.93rem;color:var(--weich);border-radius:4px}
#musik summary::-webkit-details-marker,#buehne summary::-webkit-details-marker{display:none}
#musik summary::before,#buehne summary::before{content:"";width:.5em;height:.5em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .2s;flex:none;margin-left:.1em}
#musik details[open]>summary::before,#buehne details[open]>summary::before{transform:rotate(45deg) translate(-.12em,-.12em)}
#musik summary:hover,#buehne summary:hover{color:var(--fg)}

/* Musik: Alben */
.alben{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3.4vw,56px) clamp(28px,4.5vw,80px);margin-top:clamp(30px,5vw,60px);align-items:start}
.album{display:grid;grid-template-columns:clamp(120px,13vw,190px) minmax(0,1fr);gap:.9rem clamp(16px,1.8vw,28px);align-items:start;padding-top:clamp(20px,2.4vw,32px);border-top:1px solid var(--linie)}
.album__cover{position:relative;display:block;width:100%;background:var(--matt);overflow:hidden;box-shadow:0 18px 34px -18px rgba(0,0,0,.9)}
.album__cover img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .5s var(--ease),opacity .25s}
.album__cover:hover img,.album__cover:focus-visible img{transform:scale(1.04);opacity:.72}
.album__los{position:absolute;left:50%;bottom:10px;translate:-50% 0;padding:.34em .9em;border-radius:999px;background:rgba(7,7,8,.82);border:1px solid rgba(236,235,231,.5);font-family:"Metal Mania",Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;white-space:nowrap;opacity:0;transition:opacity .25s}
.album__cover:hover .album__los,.album__cover:focus-visible .album__los,.album__cover[aria-expanded=true] .album__los{opacity:1}
@media (hover:none){.album__los{opacity:1}}
.album__als{font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;color:var(--grau)}
.album h3{font-family:"Metal Mania",Inter,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(1.3rem,1.9vw,1.75rem);line-height:1.12;margin:.3rem 0 .55rem}
.album__meta{font-size:.95rem;color:var(--weich);font-variant-numeric:tabular-nums}
.album__stil{font-size:.9rem;color:var(--grau);margin-top:.15rem}
.album__links{font-size:.9rem;margin-top:.7rem}
.album__spieler,.album__liste[open]{grid-column:1/-1}
.album__liste{grid-column:2;margin-top:-.5rem}
.album__liste[open]{margin-top:0}
.album__spieler iframe{display:block;width:100%;height:120px;border:0;background:var(--matt)}
.album__liste ol{list-style:none;margin:.5rem 0 0;padding:0;counter-reset:st;columns:2;column-gap:clamp(20px,3vw,44px)}
.album__liste li{counter-increment:st;display:grid;grid-template-columns:1.9em minmax(0,1fr) auto;gap:.2em .5em;align-items:baseline;padding:.42em 0;border-bottom:1px solid var(--linie);font-size:.93rem;break-inside:avoid}
.album__liste ol li::before{content:counter(st);color:var(--grau);font-variant-numeric:tabular-nums;font-size:.85em}
.album__liste .d{color:var(--grau);font-variant-numeric:tabular-nums;font-size:.88em}
.album__cr{list-style:none;margin:1rem 0 0;padding:0;font-size:.88rem;color:var(--grau)}
.album__cr li{display:block;border:0;padding:.12em 0;font-size:inherit}
@media (max-width:1080px){.alben{grid-template-columns:1fr}}
@media (max-width:560px){.album{grid-template-columns:104px minmax(0,1fr)}.album__liste ol{columns:1}.album__los{font-size:.72rem;bottom:6px;padding:.3em .7em}}

/* Musik: Stimmen */
.stimmen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.4vw,56px);margin-top:clamp(22px,3vw,36px)}
.stimme{margin:0;display:flex;flex-direction:column;gap:1.1rem}
.stimme blockquote{margin:0;position:relative;padding-top:2.1rem}
.stimme blockquote::before{content:"“";position:absolute;top:-.35rem;left:-.04em;font-family:"Metal Mania",serif;font-size:3.4rem;line-height:1;color:#55555c}
.stimme blockquote p{font-size:clamp(1.08rem,1.45vw,1.3rem);line-height:1.42;letter-spacing:-.012em;color:var(--fg);text-wrap:pretty}
.stimme figcaption{font-size:.88rem;color:var(--grau);line-height:1.5}
.stimme figcaption b{color:var(--weich);font-weight:500}
.stimme figcaption a{display:block;width:fit-content;margin-top:.3rem}
@media (max-width:900px){.stimmen{grid-template-columns:1fr;max-width:60ch}}

/* Kurze Jahresreihen */
.reihe{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.55rem clamp(1rem,2.4vw,2.4rem);margin-top:1.3rem;max-width:78ch;font-size:.98rem}
.reihe dt{color:var(--grau);font-variant-numeric:tabular-nums;white-space:nowrap}
.reihe dd{color:var(--weich)}

/* Bühne: Stücke */
.stuecke{margin-top:clamp(30px,5vw,60px)}
.stueck{display:grid;grid-template-columns:minmax(150px,.26fr) minmax(0,1fr);gap:.2rem clamp(20px,4vw,72px);padding:clamp(22px,2.8vw,38px) 0;border-top:1px solid var(--linie)}
.stueck:last-child{border-bottom:1px solid var(--linie)}
.stueck>*{grid-column:2}
.stueck__kopf{grid-column:1;grid-row:1/span 6;display:flex;flex-direction:column;gap:.3rem;font-size:.92rem;color:var(--grau);line-height:1.35}
.stueck__kopf .j{font-family:"Metal Mania",Inter,sans-serif;font-size:clamp(1.5rem,2.3vw,2.1rem);letter-spacing:.05em;color:var(--fg);line-height:1;font-variant-numeric:tabular-nums}
.stueck h3{font-family:"Metal Mania",Inter,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(1.35rem,2.2vw,1.95rem);line-height:1.12}
.stueck__u{display:block;font-family:Inter,sans-serif;text-transform:none;letter-spacing:0;font-size:.98rem;color:var(--grau);margin-top:.35rem}
.stueck__rolle{font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;color:var(--weich);margin-top:.55rem}
.stueck__a{color:var(--weich);max-width:68ch;margin-top:.6rem;font-size:1rem;text-wrap:pretty}
.stueck__wer{margin-top:.7rem}
.stueck__wer dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.4rem 1.4rem;margin:.5rem 0 .3rem;font-size:.93rem;max-width:68ch}
.stueck__wer dt{color:var(--grau)}
.stueck__wer dd{color:var(--weich)}
.stueck__fuss{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.4rem;margin-top:.9rem;font-size:.9rem}
.stueck__fuss:empty{display:none}
@media (min-width:1100px){.stueck{grid-template-columns:minmax(150px,.2fr) minmax(0,1fr) minmax(0,.72fr)}.stueck__wer{grid-column:3;grid-row:1/span 6;margin-top:.15rem}.stueck__wer summary{padding-top:0}}
@media (max-width:700px){.stueck{grid-template-columns:1fr}.stueck>*{grid-column:1}.stueck__kopf{grid-row:auto;flex-direction:row;align-items:baseline;gap:.9rem;margin-bottom:.6rem}.stueck__kopf .j{font-size:1.35rem}.stueck__wer dl{grid-template-columns:1fr;gap:.1rem}.stueck__wer dd{margin-bottom:.5rem}}

/* Über: Chronik */
#ueber .ueber .lauf p{color:var(--weich)}
#ueber .ueber .lauf p:first-child{color:var(--fg);font-size:1.12rem;line-height:1.5}
.chronik{list-style:none;margin:1.6rem 0 0;padding:0;columns:2;column-gap:clamp(36px,6vw,110px)}
.chronik>li{display:grid;grid-template-columns:4.2rem minmax(0,1fr);gap:0 1rem;padding:.95rem 0;border-bottom:1px solid var(--linie);break-inside:avoid}
.chronik__j{font-family:"Metal Mania",Inter,sans-serif;font-size:1.3rem;letter-spacing:.05em;line-height:1.25;font-variant-numeric:tabular-nums}
.chronik ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.chronik ul li{font-size:.97rem;line-height:1.45;color:var(--weich)}
.chronik i{display:block;font-style:normal;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grau);line-height:1.5}
@media (max-width:980px){.chronik{columns:1;max-width:70ch}}

/* Kontakt */
.kontakt__raster{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,110px);align-items:start;margin-top:.4rem}
.kontakt__links .einl:first-child{margin-top:1rem}
.kontakt a.gross{font-size:clamp(1.3rem,2.5vw,2.2rem);overflow-wrap:anywhere;margin:1.5rem 0 .6rem}
.kontakt__form{margin-top:1rem;background:var(--tafel);border:1px solid var(--linie);padding:clamp(20px,3vw,40px)}
.k-form{display:grid;gap:1.15rem}
.k-form[hidden]{display:none}
.k-form h3,.k-dank h3{font-family:"Metal Mania",Inter,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.25rem,1.9vw,1.6rem);line-height:1.15}
.k-pflicht{font-size:.88rem;color:var(--grau);margin-top:-.7rem}
.k-zwei{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem 1rem}
.k-feld{display:grid;gap:.4rem;min-width:0}
.k-feld label{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.9rem;font-weight:500;color:var(--weich)}
.k-zahl{font-weight:400;font-size:.8rem;color:var(--grau);font-variant-numeric:tabular-nums}
.k-zahl.zuviel{color:var(--rot)}
.k-feld input,.k-feld select,.k-feld textarea{width:100%;min-width:0;font:inherit;font-size:1rem;line-height:1.4;color:var(--fg);background:var(--feld);border:1px solid var(--feldrand);border-radius:8px;padding:.72em .85em;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.k-feld textarea{resize:vertical;min-height:9.5em;display:block}
.k-feld select{padding-right:2.4em;background-image:linear-gradient(45deg,transparent 50%,var(--grau) 50%),linear-gradient(135deg,var(--grau) 50%,transparent 50%);background-position:calc(100% - 1.15em) 55%,calc(100% - .8em) 55%;background-size:.36em .36em;background-repeat:no-repeat}
.k-feld select:invalid,.k-feld select option[value=""]{color:var(--grau)}
.k-feld select option{color:var(--fg);background:var(--feld)}
.k-feld input:hover,.k-feld select:hover,.k-feld textarea:hover{border-color:#5a5a63}
.k-feld input:focus-visible,.k-feld select:focus-visible,.k-feld textarea:focus-visible{outline:2px solid var(--blau);outline-offset:1px;border-color:var(--blau)}
.k-feld [aria-invalid=true]{border-color:var(--rot)}
.k-feld input:-webkit-autofill{-webkit-text-fill-color:var(--fg);box-shadow:0 0 0 100px var(--feld) inset;caret-color:var(--fg)}
.k-fehler{font-size:.88rem;color:var(--rot);line-height:1.4}
.k-fehler::before{content:"";display:inline-block;width:.5em;height:.5em;border-radius:50%;background:var(--rot);margin-right:.5em;vertical-align:.08em}
.k-honig{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.k-hinweis{font-size:.86rem;color:var(--grau);line-height:1.5;max-width:58ch}
.k-form .knopf{justify-self:start;padding:.8em 1.7em}
.k-form[aria-busy=true] .knopf{opacity:.55}
.k-status{margin-top:1.1rem;font-size:.95rem;color:var(--weich);line-height:1.5}
.k-status--fehler{color:var(--rot);border-left:2px solid var(--rot);padding:.15rem 0 .15rem .9rem}
.k-status .knopf{display:flex;width:fit-content;margin-top:.8rem;color:var(--fg)}
.k-status .knopf:hover{color:var(--bg)}
.k-dank{display:grid;gap:.9rem;justify-items:start;outline:0}
.k-dank h3{color:var(--gut)}
.k-dank p{color:var(--weich);max-width:48ch}
@media (max-width:900px){.kontakt__raster{grid-template-columns:1fr}}
@media (max-width:520px){.k-zwei{grid-template-columns:1fr}.kontakt__form{margin-left:calc(var(--rand)*-.45);margin-right:calc(var(--rand)*-.45)}}
