
:root{
  --bg:linear-gradient(180deg,#f3f7ff,#faf8f3);
  --card:rgba(255,255,255,0.7);
  --text:#172033;
  --muted:#6b7686;
  --primary:#2f6df6;
  --border:rgba(120,140,180,0.25);
}

body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--bg);
  display:flex;
  justify-content:center;
  padding:80px 20px; /* 👈 mehr Luft oben */
}
.container{
  max-width:900px;
  width:100%;
}
.card{
  background:white;
  padding:40px;
  border-radius:24px;
  max-width:800px;
  box-shadow:0 30px 60px rgba(0,0,0,0.12);
}

.step{display:none;}
.step.active{display:block;}

.label{margin-top:16px;font-weight:600;}

select{
  width:100%;
  padding:14px;
  margin-top:8px;
  border-radius:14px;
  border:1px solid var(--border);
}

button{
  width:100%;
}

button{
  background:var(--primary);
  color:white;
  font-weight:700;
  border:none;
  cursor:pointer;
}


.qr{text-align:center;margin-top:20px;}

.link{
  margin-top:10px;
  font-size:0.8rem;
  color:var(--muted);
  word-break:break-all;
}

.hero-img{
  width:100%;
  border-radius:18px;
  margin-bottom:20px;
}



.preview{
  position:relative;
}



.preview{
  margin-top:20px;
  padding:16px;
  padding:8px 16px 28px;   /* 👈 oben deutlich weniger */
  padding-bottom:56px;
 border-radius:14px;
  background:white;
  font-size:0.9rem;
  line-height:1.4;
  border:1px solid var(--border);
  white-space:pre-wrap;
  position:relative;

  max-height:210px;
  overflow:hidden;

  transition:max-height 0.4s ease;
}

#promptText{
  margin-top:0;
}

#promptText p:first-child{
  margin-top:0;   /* 👈 killt extra Abstand durch Text */
}

.preview.open{
  max-height:3500px;
}

.prompt-overlay{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:58px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding-bottom:12px;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 65%);
  font-weight:700;
  color:var(--primary);
  cursor:pointer;
  border-radius:0 0 14px 14px;
  z-index: 2;
}

.prompt-overlay:hover{
  color:#1f52c9;
}



.primary-btn{
  background:var(--primary);
  color:white;
  font-size:1rem;
  padding:16px;
  border-radius:14px;
  margin-top:16px;
}

/* 👇 exakt gleiche Form, nur invertiert */
.secondary-btn{
  background:white;
  color:var(--primary);
  font-size:1rem;
  padding:16px;
  border-radius:14px;
  margin-top:16px;
  border:2px solid var(--primary);
}

.secondary-btn:hover{
  background:#f5f8ff;
  transform:translateY(-2px);
  box-shadow:0 10px 20px rgba(47,109,246,0.015);
}

.ghost-btn{
  background:none;
  color:var(--muted);
}

.link a{
  color:var(--primary);
  text-decoration:none;
  font-weight:500;
}

/* GRID LAYOUT */
.card-grid{
  display:flex;
  gap:32px;
  align-items:center;
}

/* BILD */
.card-img{
  width:45%;
  border-radius:20px;
  object-fit:cover;
  box-shadow:0 15px 40px rgba(0,0,0,0.15);
}

/* TEXT */
.card-content{
  width:55%;
}

/* TYPO */
.eyebrow{
  font-size:0.9rem;
  color:var(--muted);
  margin-bottom:8px;
}

.title{
  font-size:2.4rem;
  line-height:1.2;
  margin:0 0 12px 0;
}

.subtitle{
  font-size:1.1rem;
  margin-bottom:20px;
}

/* FORM BLOCK */
.form-block{
  margin-top:20px;
}

/* SELECT MODERNER */
select{
  font-size:1rem;
  background:white;
}

/* BUTTONS */


/* HOVER */
button{
  transition:all 0.2s ease;
}

button:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 20px rgba(47,109,246,0.002);
}




.highlight-section-footer-impressum{
  width:100%;
  padding:60px 16px 20px; /* 👈 stärkerer Abstand */
  margin-top:0;
}

.footer{
  max-width:900px;
  margin:0 auto;
  text-align:center;
  opacity:0.6; /* 👈 softer Look */
  transition:opacity 0.2s ease;
}

.footer:hover{
  opacity:1; /* 👈 beim Hover klarer */
}

.footer p{
  margin:0;
  font-size:0.75rem;
  color:#6b7686;
}

.footer a{
  color:#6b7686;
  text-decoration:none;
  margin:0 6px;
  transition:color 0.2s ease;
}

.footer a:hover{
  color:#2f6df6;
}

.layout{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

.page-content{
  flex:1;

  display:flex;
  justify-content:center;
  align-items:center;

  padding:80px 20px;
}

/* Footer */
.footer-global{
  text-align:center;
  padding:30px 16px 20px;
  font-size:0.75rem;
  color:#6b7686;
  opacity:0.6;
}

.footer-global a{
  color:#6b7686;
  text-decoration:none;
  margin:0 6px;
}

.footer-global a:hover{
  color:#2f6df6;
}

  @media (max-width:700px){


  body{
    padding:40px 12px;   /* 👈 vorher viel zu groß */
  }


  body .card{
        transform:scale(0.94);   /* 👈 KEY: alles etwas kleiner */
    transform-origin:top center;
  }

  body .card-grid{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:16px;   /* 👈 tighter */

  }

  /* 👉 Bild GANZ oben */
  body .card-grid .card-img{
    order:-1 !important;
    width:75% !important;
    margin:0 auto 20px auto !important; /* 👈 zentriert */

    display:block !important;   /* 👈 wichtig für margin:auto */
    aspect-ratio:4/5 !important;
    object-fit:cover !important;
    border-radius:20px !important;
  }

  /* 👉 Content danach */
  body .card-grid .card-content{
    order:1 !important;
    width:100% !important;
  }

  body .title{
    font-size:1.9rem !important;
  }

}

@media (prefers-color-scheme: dark){

  :root{
    --bg:radial-gradient(circle at 20% 20%, #0e1a2a 0%, #0a111a 70%) fixed;
    --text:#e6ecf5;
    --muted:#9aa6b2;
    --primary:#4f8cff;
    --border:rgba(255,255,255,0.08);
  }

  body{
    background:var(--bg);
    color:var(--text);
  }

  /* Card */
  .card{
    background:rgba(255,255,255,0.04); /* 👈 Glas-Effekt */
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);

    box-shadow:
      0 20px 60px rgba(0,0,0,0.6),
      inset 0 1px 0 rgba(255,255,255,0.05);
  }

  /* Text */
  .eyebrow{
    color:var(--muted);
  }

  .subtitle{
    color:var(--muted);
  }

  /* Inputs */
  select{
    background:rgba(255,255,255,0.05);
    color:var(--text);
    border:1px solid var(--border);
  }

  select:focus{
    outline:none;
    border-color:var(--primary);
  }

  /* Button */
  button{
    background:linear-gradient(135deg,#4f8cff,#2f6df6);
    box-shadow:0 10px 30px rgba(79,140,255,0.25);
  }

  button:hover{
    box-shadow:0 15px 40px rgba(79,140,255,0.015);
  }

  /* Footer */
  .footer,
  .footer-global{
    color:var(--muted);
    opacity:0.7;
  }

  .footer a,
  .footer-global a{
    color:var(--muted);
  }

  .footer a:hover,
  .footer-global a:hover{
    color:#4f8cff;
  }

}

@media (prefers-color-scheme: dark){

  .preview{
    background:rgba(255,255,255,0.04);
    color:var(--text);
    border:1px solid var(--border);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

}

@media (prefers-color-scheme: dark){


  .prompt-overlay{
    background:linear-gradient(
      to bottom,
      rgba(10,17,26,0) 0%,
      rgba(10,17,26,0.6) 60%,
      rgba(10,17,26,0.95) 100%
    );
  }

}
  .prompt-overlay:hover{
    color:#7aa2ff;
  }



@media (prefers-color-scheme: dark){

  .link{
    color:var(--muted);
  }

  .link a{
    color:#7aa2ff;
  }

}

@media (prefers-color-scheme: dark){

  .secondary-btn{
    background:transparent;
    border:2px solid var(--primary);
  }

  .secondary-btn:hover{
    background:rgba(79,140,255,0.08);

    box-shadow:none;
  }

}

@media (prefers-color-scheme: dark){

  .qr img{
    background:white;
    padding:10px;
    border-radius:12px;
  }

}

@media (prefers-color-scheme: dark){

  button{
    background:linear-gradient(135deg,#4f8cff,#2f6df6);

    /* 👇 sauberer, knackiger Glow */
    box-shadow:
      0 6px 14px rgba(0,0,0,0.4),          /* Tiefe */
      0 0 0 1px rgba(255,255,255,0.04),    /* feine Kante */
      0 4px 12px rgba(79,140,255,0.18);    /* dezenter Farbglow */
  }

  button:hover{
    transform:translateY(-2px);

    /* 👇 NICHT größer – nur leicht stärker */
    box-shadow:
      0 10px 20px rgba(0,0,0,0.5),
      0 0 0 1px rgba(255,255,255,0.06),
      0 6px 16px rgba(79,140,255,0.22);
  }

}

