/* =========================================================================
   Redesign 17.10.2026 (freigegeben von Eduard)
   Ergänzt site.css: neue Startseite (Klassen s-…), dezenter KI-Hinweis
   und ein etwas schlankerer Grundstil für die Unterseiten. Rein additiv --
   site.css bleibt unverändert, diese Datei kann ersatzlos entfernt werden.
   ========================================================================= */

/* ---------- Schlanker Grundstil ---------- */
:root { --luft: clamp(3.25rem, 6vw, 5.5rem); }
h1 { font-size: clamp(2.4rem, 5.2vw, 4rem); }
h2 { font-size: clamp(1.75rem, 3.2vw, 2.5rem); }
.seitenkopf { background: rgba(255,255,255,.92); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.hauptnav a { font-size: .95rem; }
.werk-kopf h1 { font-size: clamp(2.1rem, 4.4vw, 3.25rem); }

/* ---------- KI-Hinweis: kleine graue Zeile statt Pille ---------- */
.ki-herkunft, .ki-herkunft-kompakt {
  display: block; width: auto; max-width: 100%;
  margin: .15rem 0 .55rem; padding: 0;
  border: 0; border-radius: 0; background: none; box-shadow: none;
  color: #8a919c; font-size: .72rem; font-weight: 400; line-height: 1.4; letter-spacing: .01em;
  text-transform: none;
}
.ki-herkunft-kompakt { font-size: .68rem; margin: .1rem 0 0; }
.abschnitt-dunkel .ki-herkunft { border: 0; background: none; color: rgba(246,244,239,.6); }
.kauf-produktion { font-size: .85rem; color: var(--text-leise); margin: .25rem 0 1rem; }

/* ---------- Startseite ---------- */
.seite-start .kicker { margin-bottom: .8rem; }
.s-hero { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(2.5rem, 6vw, 4rem); background: linear-gradient(180deg, #fff, var(--papier-warm)); }
.s-hero-innen { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 5vw, 3.5rem); align-items: center; }
.s-hero h1 { color: var(--navy); margin-bottom: 1rem; font-size: clamp(2.4rem, 5vw, 3.8rem); }
.s-lead { font-size: 1.15rem; color: var(--text-leise); max-width: 32rem; margin-bottom: 2rem; }
.s-hero-bild img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 1.5rem; }
.s-hero-bild figure { margin: 0; }
.s-hero-bild figcaption, .s-cover figcaption, .s-release-cover figcaption, .s-geschichte-bild figcaption { display: none; }
.s-release { display: flex; gap: 1.1rem; align-items: center; background: #fff; border: 1px solid var(--linie); border-radius: 1.1rem; padding: .9rem; max-width: 31rem; box-shadow: var(--schatten); }
.s-release-cover { flex: 0 0 auto; }
.s-release-cover figure { margin: 0; }
.s-release-cover img { width: 6rem; height: 6rem; object-fit: cover; border-radius: .7rem; }
.s-release-label { text-transform: uppercase; letter-spacing: .14em; font-size: .7rem; font-weight: 700; color: var(--gold); margin: 0; }
.s-release-titel { font-size: 1.2rem; margin: .1rem 0; font-family: var(--sans); font-weight: 650; letter-spacing: 0; }
.s-release-titel a { text-decoration: none; }
.s-knoepfe { display: flex; flex-wrap: wrap; gap: .6rem; margin: .55rem 0 .35rem; }
.s-knoepfe .knopf { padding: .55rem 1.05rem; font-size: .9rem; min-height: 0; }
.s-mitte { justify-content: center; }
.s-meta { color: var(--text-leise); font-size: .85rem; margin: 0; }
.s-text { color: var(--text-leise); font-size: .92rem; margin: .4rem 0 .2rem; }
.s-abschnitt { padding: clamp(3rem, 6vw, 4.5rem) 0; }
.s-warm { background: var(--papier-warm); }
.s-kopf { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1.8rem; }
.s-kopf h2 { margin: 0; color: var(--navy); }
.s-kopf a { font-size: .9rem; color: var(--text-leise); white-space: nowrap; }
.s-songs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.s-cover { position: relative; }
.s-cover figure { margin: 0; }
.s-cover img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: .9rem; }
.s-song h3, .s-album h3 { font-family: var(--sans); font-size: 1.05rem; font-weight: 650; letter-spacing: 0; margin: .8rem 0 .1rem; }
.s-song h3 a, .s-album h3 a { text-decoration: none; }
.s-kaufen { font-size: .88rem; font-weight: 650; color: var(--gold) !important; text-decoration: none; }
.s-kaufen:hover { text-decoration: underline; }
.s-play { position: absolute; right: .7rem; bottom: .7rem; width: 2.8rem; height: 2.8rem; border-radius: 50%; border: 0; background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.22); cursor: pointer; display: grid; place-items: center; }
.s-play span { width: 0; height: 0; border-left: .75rem solid var(--navy); border-top: .45rem solid transparent; border-bottom: .45rem solid transparent; margin-left: .2rem; }
.s-play.laeuft span { width: .7rem; height: .8rem; border: 0; border-left: .22rem solid var(--navy); border-right: .22rem solid var(--navy); margin: 0; }
.s-play:focus-visible, .s-abspielen:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.s-alben { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem; }
.s-geschichte-innen { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 5vw, 3.5rem); align-items: center; }
.s-geschichte-bild figure { margin: 0; }
/* 18.10.2026: Profilfoto vollständig zeigen (Vogel auf dem Kopf), kein Zuschnitt. */
.s-geschichte-bild { display: flex; justify-content: center; }
.s-geschichte-bild figure { margin: 0; width: 100%; max-width: 420px; }
.s-geschichte-bild picture { display: block; width: 100%; }
.s-geschichte-bild img { display: block; width: 100%; max-width: 420px; height: auto; aspect-ratio: auto; object-fit: contain; margin: 0 auto; border-radius: 1.5rem; }
.s-geschichte h2 { color: var(--navy); }
.s-fliess { font-size: 1.08rem; color: var(--text-leise); max-width: 38rem; }
.s-vertiefung { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1.1rem; }
.s-vertiefung-karte { background: #fff; border: 1px solid var(--linie); border-radius: 1rem; padding: 1.25rem 1.3rem; }
.s-vertiefung-karte h3 { font-size: 1.2rem; margin: 0 0 .3rem; }
.s-vertiefung-karte h3 a { text-decoration: none; }
.s-mehr { font-size: .88rem; font-weight: 600; color: var(--gold) !important; text-decoration: none; }
.s-kontakt { background: var(--navy); color: var(--text-invers); text-align: center; }
.s-kontakt h2 { color: #fff; }
.s-kontakt p { color: rgba(246,244,239,.8); max-width: 40rem; margin-inline: auto; }
.s-kontakt .knopf-still { color: var(--text-invers); border-color: rgba(246,244,239,.4); background: transparent; }

@media (max-width: 900px) {
  .s-hero-innen, .s-geschichte-innen { grid-template-columns: 1fr; }
  .s-hero-bild { order: -1; }
  .s-hero-bild img { aspect-ratio: 16 / 11; }
  .s-songs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .s-alben { grid-template-columns: 1fr; gap: 1.25rem; }
  .s-album { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; align-items: start; }
  .s-album h3 { margin-top: 0; }
  .s-release { align-items: flex-start; }
  .s-release-cover img { width: 4.5rem; height: 4.5rem; }
  .s-geschichte-bild figure { width: 85%; }
}
@media (min-width: 1100px) { .s-vertiefung { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
/* Kontrast (Lighthouse/WCAG AA): dunkleres Gold für Textlinks, KI-Zeile etwas dunkler */
.s-kaufen, .s-mehr { color: #84650f !important; }
.s-release-label, .seite-start .kicker { color: #84650f; }
.ki-herkunft, .ki-herkunft-kompakt { color: #69717d; }

/* =========================================================================
   Lebenslinie (18.10.2026, Eduard): Startseite ab „Mehr über mich“.
   Ohne JS bzw. bei prefers-reduced-motion ist alles sofort sichtbar; das
   Einblenden betrifft nur opacity/transform (kein Layout-Shift).
   ========================================================================= */
.lebenslinie { background: linear-gradient(180deg, var(--papier-warm), #f5efe3); }
.ll-kopf { text-align: center; margin-bottom: clamp(2rem, 4vw, 3rem); }
.ll-kopf h2 { color: var(--navy); margin: 0; }
.ll-liste { --ll-x: 1rem; position: relative; list-style: none; margin: 0 auto; padding: 0; max-width: 64rem; }
.ll-liste::before {
  content: ""; position: absolute; top: .5rem; bottom: 2.5rem; left: var(--ll-x); width: 2px; margin-left: -1px;
  background: linear-gradient(180deg, rgba(184,144,31,.15), rgba(184,144,31,.65) 12%, rgba(184,144,31,.65) 88%, rgba(15,28,51,.55));
}
.ll-station { position: relative; padding: 0 0 clamp(1.5rem, 3vw, 2.25rem) calc(var(--ll-x) + 1.75rem); }
.ll-punkt {
  position: absolute; left: var(--ll-x); top: 1.6rem; width: .95rem; height: .95rem; margin-left: -.475rem;
  border-radius: 50%; background: var(--papier); border: 3px solid var(--gold); box-shadow: 0 0 0 5px var(--papier-warm);
}
.ll-karte { background: #fff; border: 1px solid var(--linie); border-radius: var(--rund-gross); padding: 1.35rem 1.45rem 1.25rem; box-shadow: var(--schatten); }
.ll-marke { margin: 0 0 .3rem; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #84650f; }
.ll-karte h3 { font-size: clamp(1.25rem, 2.2vw, 1.5rem); color: var(--navy); margin: 0 0 .6rem; }
/* 18.10.2026 (Feedback iPhone): Bilder bleiben sicher in der Karte. */
.ll-station, .ll-karte { min-width: 0; box-sizing: border-box; }
.ll-karte { overflow: hidden; }
.ll-bild { margin: .2rem 0 .9rem; max-width: 100%; overflow: hidden; border-radius: .8rem; }
.ll-bild figure, .ll-bild picture { margin: 0; width: 100%; max-width: 100%; }
.ll-bild figcaption { display: none; }
.ll-bild img { display: block; width: 100%; max-width: 100%; height: clamp(160px, 44vw, 210px); aspect-ratio: auto; object-fit: cover; border-radius: .8rem; }
.ll-bild-living-hope { overflow: visible; border-radius: 0; }
.ll-bild-living-hope img { width: auto; max-width: min(180px, 100%); height: auto; margin: 0 auto; object-fit: contain; border-radius: 0; }
.ll-bild-werkzeuge img { height: auto; aspect-ratio: 8 / 5; object-fit: contain; background: #fff; }
.ll-text { color: var(--text-leise); font-size: .98rem; margin: 0 0 .7rem; }
.ll-schritte { list-style: none; margin: 0 0 .8rem; padding: 0; display: grid; gap: .45rem; counter-reset: ll; }
.ll-schritte li { position: relative; padding-left: 1.9rem; color: var(--text-leise); font-size: .94rem; line-height: 1.5; counter-increment: ll; }
.ll-schritte li::before {
  content: counter(ll); position: absolute; left: 0; top: .1rem; width: 1.35rem; height: 1.35rem; border-radius: 50%;
  background: var(--gold-blass); color: #6b520c; font-size: .72rem; font-weight: 700; display: grid; place-items: center;
}
.ll-schritte strong { color: var(--navy); font-weight: 650; }
.ll-tags { list-style: none; margin: 0 0 .8rem; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.ll-tags li { font-size: .78rem; padding: .2rem .65rem; border-radius: 999px; background: var(--gold-blass); color: #5e4a12; }
.ll-ziel { padding-bottom: 0; }
.ll-ziel .ll-punkt { background: var(--navy); border-color: var(--navy); }
.ll-kontakt { background: var(--navy); border-color: var(--navy); color: var(--text-invers); }
.ll-kontakt h3 { color: #fff; }
.ll-kontakt .ll-marke { color: var(--gold-hell); }
.ll-kontakt .ll-text { color: rgba(246,244,239,.82); }
.ll-kontakt .knopf-still { color: var(--text-invers); border-color: rgba(246,244,239,.4); background: transparent; }

/* Einblenden nur mit JS (Klasse setzt site.js) und ohne Bewegungsreduktion */
@media (prefers-reduced-motion: no-preference) {
  .ll-aktiv .ll-station { transition: opacity .7s ease, transform .7s ease; }
  .ll-aktiv .ll-station:not(.ll-da) { opacity: 0; transform: translateY(1.25rem); }
}

@media (min-width: 900px) {
  .ll-liste { --ll-x: 50%; }
  .ll-station { width: 50%; padding: 0 2.75rem clamp(1.5rem, 3vw, 2.25rem) 0; }
  .ll-station .ll-punkt { left: 100%; }
  .ll-station:nth-child(even) { margin-left: 50%; padding: 0 0 clamp(1.5rem, 3vw, 2.25rem) 2.75rem; }
  .ll-station:nth-child(even) .ll-punkt { left: 0; }
  .ll-station + .ll-station { margin-top: -3.5rem; }
  .ll-ziel { width: 100%; margin-left: 0 !important; padding: 4.5rem 0 0 !important; display: flex; justify-content: center; }
  .ll-ziel .ll-punkt { left: 50% !important; top: 1.6rem; }
  .ll-ziel .ll-karte { max-width: 40rem; text-align: center; }
  .ll-ziel .s-knoepfe { justify-content: center; }
  .ll-liste::before { bottom: auto; height: calc(100% - 1rem); }
}

/* Schlanker Footer */
.fuss-schlank { padding-block: 1.6rem 1.4rem; }
.fuss-zeile { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1.5rem; }
.fuss-schlank .fuss-marke { font-size: 1.25rem; margin: 0; color: var(--papier); }
.fuss-schlank ul { display: flex; flex-wrap: wrap; gap: .35rem 1.25rem; }
.fuss-links a { font-size: .92rem; }
.fuss-klein { margin-top: .9rem; padding-top: .9rem; border-top: 1px solid rgba(246,244,239,.12); font-size: .78rem; color: rgba(246,244,239,.66); }
.fuss-klein a { font-size: .78rem; }
.fuss-recht { gap: .35rem 1rem !important; }
@media (max-width: 600px) { .fuss-zeile { justify-content: flex-start; } }

/* Lebensecht: dezenter SoundCloud-Hinweis */
.album-extern { padding-block: 0 1.5rem; font-size: .9rem; }
.album-extern a { color: var(--text-leise); }
