:root{
  --bg:#f6f7fb;
  --text:#0b1220;
  --muted:#5a667f;

  --accent:#245cf0;
  --accent2:#1d4ed8;

  --warn:#92400e;
  --danger:#b42318;

  --radius:28px;

  --glass: rgba(255,255,255,.58);
  --glass2: rgba(255,255,255,.70);

  --shadow: 0 30px 90px rgba(11,18,32,.16);
  --shadow2: 0 14px 40px rgba(11,18,32,.10);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color:var(--text);

  background:
    linear-gradient(rgba(246,247,251,.82), rgba(246,247,251,.82)),
    url("/assets/bg.jpg") center/cover no-repeat fixed,
    radial-gradient(900px 600px at 14% 10%, rgba(36,92,240,.12), transparent 55%),
    radial-gradient(800px 500px at 88% 0%, rgba(15,118,110,.08), transparent 55%),
    var(--bg);
}

.wrap{max-width:1220px;margin:0 auto;padding:40px 16px 90px}

/* Onepager Hero: 3-Spalten */
.heroGrid{
  display:grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  gap:28px;
  align-items:center;
}
@media (max-width: 1100px){
  .heroGrid{grid-template-columns:1fr;gap:18px}
}

/* Mitte: Logo groß */
.logoCenter{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:16px 8px;
}
.logoBig{
  width:320px;
  height:320px;
  border-radius:44px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.logoBig img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter: drop-shadow(0 26px 52px rgba(11,18,32,.24));
}
@media (max-width: 520px){
  .logoBig{width:250px;height:250px}
}

.brandName{
  margin-top:8px;
  font-weight:1100;
  letter-spacing:.2px;
  font-size:28px;
  display:none; /* Schrift unter Logo komplett weg – du wolltest das */
}

/* Side Modules: weich, premium, nicht „kastenartig“ */
.sideModule{
  padding:26px 24px;
  border-radius: var(--radius);
  background: var(--glass);
  backdrop-filter: blur(14px);
  box-shadow: var(--shadow2);
}

.sideTitle{
  font-size:12px;
  letter-spacing:.25px;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:1100;
}

.sideHeadline{
  margin-top:12px;
  font-size:20px;
  font-weight:1100;
  letter-spacing:-.2px;
}

.sideText{
  margin-top:12px;
  color:var(--muted);
  line-height:1.85;
  font-size:14.8px;
}

/* Bild-Icon */
.art{
  margin-top:14px;
  display:flex;
  justify-content:center;
}
.art img{
  max-width: 230px;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 16px 36px rgba(11,18,32,.18));
  transform: translateZ(0);
}

.price{
  margin-top:10px;
  font-size:44px;
  font-weight:1100;
  letter-spacing:-.4px;
}
.price small{
  font-size:12.5px;
  color:var(--muted);
  font-weight:1000;
}

/* Buttons */
.btnPrimary{
  width:100%;
  margin-top:16px;
  border:none;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color:#fff;
  padding:14px 16px;
  border-radius:18px;
  font-weight:1100;
  cursor:pointer;
  box-shadow: 0 24px 56px rgba(36,92,240,.22);
}
.btnPrimary:hover{filter:brightness(1.03)}
.btnPrimary:disabled{opacity:.65;cursor:not-allowed}

.btnGhost{
  width:100%;
  margin-top:14px;
  border:none;
  background: rgba(255,255,255,.78);
  color:var(--text);
  padding:14px 16px;
  border-radius:18px;
  font-weight:1100;
  cursor:pointer;
  text-decoration:none;
  display:inline-block;
  text-align:center;
  box-shadow: 0 12px 28px rgba(11,18,32,.10);
}
.btnGhost:hover{filter:brightness(1.02)}

.note{
  margin-top:16px;
  padding:14px 14px;
  border-radius:18px;
  background: rgba(36,92,240,.07);
  color:var(--muted);
  line-height:1.75;
  font-size:14px;
}

.ver{
  margin-top:10px;
  color:var(--muted);
  font-size:14px;
  line-height:1.75;
}
.ver code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size:12.5px;
  background: rgba(11,18,32,.06);
  padding:4px 10px;
  border-radius:999px;
  color:var(--text);
  font-weight:1000;
}

.status{
  min-height:18px;
  margin-top:12px;
  font-size:13px;
  color:var(--muted);
  font-weight:950;
}
.status.warn{color:var(--warn)}
.status.err{color:var(--danger)}

/* Unterer Info-Bereich */
.section{
  margin-top:26px;
  padding:28px 26px;
  border-radius: var(--radius);
  background: var(--glass2);
  backdrop-filter: blur(14px);
  box-shadow: var(--shadow);
}
.section h2{
  margin:0;
  font-size:20px;
  letter-spacing:-.2px;
}
.lead{
  margin-top:10px;
  color:var(--muted);
  line-height:1.85;
  font-size:15.2px;
  max-width: 90ch;
}

/* Ablauf minimalistisch */
.steps{
  margin-top:14px;
  display:grid;
  gap:12px;
}
.step{
  display:flex;gap:12px;align-items:flex-start;
  padding:14px 16px;
  border-radius:18px;
  background: rgba(255,255,255,.62);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 26px rgba(11,18,32,.08);
}
.stepNum{
  width:30px;height:30px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-weight:1100;
  color:#fff;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow: 0 16px 38px rgba(36,92,240,.22);
  flex:0 0 auto;
}
.step strong{display:block;font-size:14px}
.step span{display:block;color:var(--muted);font-size:14px;line-height:1.75;margin-top:3px}

details{
  margin-top:12px;
  border-radius:18px;
  background: rgba(255,255,255,.62);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 26px rgba(11,18,32,.08);
  padding:12px 14px;
}
summary{cursor:pointer;font-weight:1100}
details p{margin:10px 0 0 0;color:var(--muted);line-height:1.8}

/* Footer: nur hier Impressum/Datenschutz/Support */
footer{
  margin-top:22px;
  padding:16px 2px;
  color:var(--muted);
  font-size:12.5px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:space-between;
}
footer a{
  color:var(--muted);
  text-decoration:none;
  font-weight:1000;
}
footer a:hover{text-decoration:underline}
