/* bandscheibe.com Relaunch (Variante B) — statisch. Globale Regeln, Keyframes, Responsive. */
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; background:#19222B; font-family:'Archivo',system-ui,sans-serif; color:#ECE7DC; -webkit-font-smoothing:antialiased; }
img{ max-width:100%; }
::selection{ background:#C9A45C; color:#19222B; }

@keyframes markB{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@keyframes riseB{ from{ opacity:0; transform:translateY(110%); } to{ opacity:1; transform:translateY(0); } }
@keyframes floatB{ 0%,100%{ transform:translateY(0) rotate(0); } 50%{ transform:translateY(-22px) rotate(8deg); } }
@keyframes glowB{ 0%,100%{ box-shadow:0 0 0 1px rgba(201,164,92,.55), 0 0 16px rgba(201,164,92,.32); } 50%{ box-shadow:0 0 0 1px rgba(201,164,92,.9), 0 0 32px rgba(201,164,92,.55); } }

/* --- Logo: dezente Einblend-/Hover-Bewegung --- */
@keyframes logoInB{ from{ opacity:0; transform:translateY(-7px) scale(.9); } to{ opacity:.95; transform:none; } }
.brand-b img{ animation:logoInB 1s cubic-bezier(.2,.8,.2,1) both; transition:transform .5s cubic-bezier(.2,.8,.2,1), filter .5s ease; will-change:transform; }
.brand-b:hover img{ transform:scale(1.07) rotate(-2.5deg); filter:brightness(0) invert(1) drop-shadow(0 0 9px rgba(201,164,92,.6)); }

/* --- Nav: Desktop-Reihe / Mobile-Hamburger --- */
.nav-row{ display:flex; align-items:center; gap:clamp(14px,2.4vw,40px); white-space:nowrap; flex-shrink:0; }
.nav-burger{ display:none; align-items:center; justify-content:center; width:46px; height:46px; padding:0; background:transparent; border:1.5px solid rgba(236,231,220,.3); border-radius:12px; color:#ECE7DC; cursor:pointer; transition:border-color .25s ease; }
.nav-burger:hover{ border-color:#C9A45C; }
.nav-burger .icon-close{ display:none; }

/* --- Hero-Bild mobil zwischen Text und Buttons --- */
.hero-img-mobile{ display:none; }

/* --- „Foto folgt"-Platzhalter (leere Bildslots) --- */
.foto-slot{ background:#1f2a33; color:rgba(236,231,220,.45); font-size:13px; letter-spacing:.04em; }
.foto-slot span{ border:1px dashed rgba(236,231,220,.28); padding:8px 16px; border-radius:100px; background:rgba(25,34,43,.4); }

/* --- Reveal-Basiszustände (nur wenn JS aktiv → kein Aufblitzen) --- */
html.js [data-reveal]{ opacity:0; transform:translateY(34px); }
html.js [data-words]{ opacity:0; }
/* No-JS-Fallback: Inhalte bleiben sichtbar */
html:not(.js) [data-vline] p{ opacity:1 !important; transform:none !important; }
html:not(.js) [data-vline] [data-rule]{ width:100% !important; }

@media (max-width:760px){
  .nav-burger{ display:inline-flex; }
  .nav-row{ position:absolute; top:calc(100% + 10px); right:clamp(20px,5vw,72px); left:clamp(20px,5vw,72px); flex-direction:column; align-items:stretch; gap:4px; white-space:normal; background:rgba(25,34,43,.97); backdrop-filter:blur(14px); border:1px solid rgba(236,231,220,.12); border-radius:16px; padding:14px; box-shadow:0 26px 64px -26px rgba(0,0,0,.85); display:none; }
  .nav-open .nav-row{ display:flex; }
  .nav-row > a{ padding:13px 16px; border-radius:10px; font-size:16px; }
  .nav-row > a:hover{ background:rgba(236,231,220,.06); }
  .nav-open .nav-burger .icon-open{ display:none; }
  .nav-open .nav-burger .icon-close{ display:inline-flex; }
  .hero-img-desktop{ display:none !important; }
  .hero-img-mobile{ display:block; }
}

/* --- Nav-Hover: animierter Gold-Unterstrich (wie sundpark.de in Grün) --- */
.nav-link{ position:relative; }
.nav-link::after{ content:""; position:absolute; left:0; bottom:-2px; height:1.5px; width:100%; background:#C9A45C; transform:scaleX(0); transform-origin:left; transition:transform .32s cubic-bezier(.2,.8,.2,1); }
.nav-link:hover::after, .nav-link:focus-visible::after{ transform:scaleX(1); }

/* --- Skip-Link: „Zum Inhalt springen" — nur bei Tastaturfokus sichtbar (WCAG 2.4.1) --- */
.skip-link{ position:fixed; top:10px; left:10px; z-index:200; transform:translateY(-300%); background:#C9A45C; color:#19222B; font-weight:700; font-size:15px; padding:12px 20px; border-radius:10px; text-decoration:none; box-shadow:0 12px 30px -10px rgba(0,0,0,.6); transition:transform .2s ease; }
.skip-link:focus, .skip-link:focus-visible{ transform:none; }

/* FOOTER-STUFE-B-CSS START (generiert aus bs_partials.py — dort pflegen, dann footer_sync.py) */
.ftr-spalten{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(28px,4vw,48px); }
@media (max-width:900px){ .ftr-spalten{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .ftr-spalten{ grid-template-columns:1fr; } }
.ftr-liste{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.ftr-liste li{ display:flex; align-items:flex-start; gap:9px; }
.ftr-dot{ flex:none; width:4px; height:4px; border-radius:50%; background:rgba(236,231,220,.35); margin-top:8px; }
.ftr-ico{ flex:none; display:inline-flex; color:rgba(236,231,220,.85); margin-top:2px; }
.ftr-ico svg{ width:15px; height:15px; display:block; }
.ftr-titel{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--bs-text-50, rgba(236,231,220,.62)); font-weight:600; margin:0 0 16px; font-family:'Archivo',system-ui,sans-serif; }
.ftr-link{ font-size:15px; line-height:1.4; color:var(--bs-text-70, rgba(236,231,220,.7)); text-decoration:none; transition:color .2s ease; font-family:'Archivo',system-ui,sans-serif; }
.ftr-link:hover{ color:var(--bs-salbei, #8FB0A8); }
.ftr-alle{ color:var(--bs-salbei, #8FB0A8); white-space:nowrap; }
.ftr-claim{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; border-top:1px solid var(--bs-linie-08, rgba(236,231,220,.08)); margin-top:clamp(48px,7vw,90px); padding-top:clamp(36px,5vw,60px); }
.ftr-claim p{ margin:0; font-size:15px; line-height:1.5; color:var(--bs-text-70, rgba(236,231,220,.7)); font-family:'Archivo',system-ui,sans-serif; }
.ftr-pflicht{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 28px; margin-top:clamp(40px,6vw,72px); border-top:1px solid var(--bs-linie-08, rgba(236,231,220,.08)); padding-top:clamp(22px,3vw,32px); }
.ftr-pflicht p{ margin:0; font-size:13px; line-height:1.5; color:var(--bs-text-50, rgba(236,231,220,.62)); font-family:'Archivo',system-ui,sans-serif; }
.ftr-pflicht a{ color:inherit; }
/* FOOTER-STUFE-B-CSS ENDE */

/* --- „Nach oben"-Link (erscheint beim Scrollen) --- */
.to-top{ position:fixed; right:clamp(16px,3vw,30px); bottom:clamp(16px,3vw,30px); z-index:80; width:46px; height:46px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:#C9A45C; color:#19222B; text-decoration:none; box-shadow:0 12px 30px -10px rgba(0,0,0,.6); opacity:0; transform:translateY(14px); pointer-events:none; transition:opacity .3s ease, transform .3s ease, background .25s ease; }
.to-top.show{ opacity:1; transform:none; pointer-events:auto; }
.to-top:hover{ background:#ECE7DC; transform:translateY(-3px); }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
