:root{
  --primary:#D01541;
  --primary-dark:#a90f34;
  --text:#242424;
  --muted:#666;
  --light:#F7F7F7;
  --line:#e9e9e9;
  --white:#fff;
  --shadow:0 22px 70px rgba(0,0,0,.09);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;
  color:var(--text);
  background:radial-gradient(circle at 20% 0%,rgba(208,21,65,.08),transparent 32rem),linear-gradient(180deg,#fff 0%,#fbfbfb 100%);
  line-height:1.5;
}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(980px,calc(100% - 32px));margin-inline:auto}
.hero{
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:64px 0 48px;
}
.hero-inner{text-align:center}
.brand-logo{width:min(150px,38vw);height:auto;margin:0 auto 14px;display:block}
.eyebrow,.step-kicker{
  margin:0 0 10px;
  color:var(--primary);
  font-weight:700;
  letter-spacing:.01em;
}
h1{
  max-width:860px;
  margin:0 auto;
  font-size:clamp(2.5rem,7vw,5.4rem);
  line-height:.96;
  letter-spacing:-.07em;
}
.lead{
  max-width:760px;
  margin:28px auto 0;
  color:var(--muted);
  font-size:clamp(1rem,2.2vw,1.24rem);
}
.cta,.next-btn,.submit-btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:56px;
  padding:0 34px;
  margin-top:32px;
  border:0;
  border-radius:999px;
  background:var(--primary);
  color:#fff;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(208,21,65,.24);
  transition:.2s ease;
}
.cta:hover,.next-btn:hover,.submit-btn:hover{
  background:var(--primary-dark);
  transform:translateY(-2px);
  text-decoration:none;
}
.trust{margin-top:18px;color:#555;font-weight:600}
.wizard-section{
  min-height:100svh;
  display:grid;
  align-items:center;
  padding:28px 0;
}
.wizard-card,.success-card{
  background:rgba(255,255,255,.95);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:clamp(20px,4vw,42px);
}
.wizard-top{
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  gap:20px;
  align-items:center;
  padding:0 0 22px;
  margin-bottom:18px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
}
.wizard-top img{width:74px;height:auto}
.wizard-progress{flex:1}
.progress-meta{
  display:flex;
  justify-content:space-between;
  gap:14px;
  font-size:.9rem;
  font-weight:600;
  color:#555;
  margin-bottom:10px;
}
.progress-bar{
  height:10px;
  background:#f0f0f0;
  border-radius:999px;
  overflow:hidden;
}
.progress-bar div{
  height:100%;
  width:0;
  background:var(--primary);
  border-radius:999px;
  transition:width .25s ease;
}
.step{display:none;animation:fade .22s ease}
.step.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.step h2{
  margin:0 0 24px;
  font-size:clamp(1.7rem,4vw,2.5rem);
  line-height:1.15;
  letter-spacing:-.03em;
  font-weight:600;
}
.hint{color:var(--muted);margin:-12px 0 22px}
.grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.full{grid-column:1/-1}
label{font-weight:600;font-size:.94rem;color:#2d2d2d}
input{
  width:100%;
  min-height:56px;
  margin-top:8px;
  padding:0 16px;
  border:1.5px solid #ddd;
  border-radius:16px;
  font:inherit;
  font-weight:500;
  font-size:1rem;
  color:#333;
  outline:none;
  background:#fff;
}
input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(208,21,65,.1)}
.choice-grid,.priority-section{
  display:grid;
  gap:16px;
}
.choice-grid.two{grid-template-columns:1fr 1fr}
.priority-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.option-card,.consent{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:62px;
  padding:16px 18px;
  border:1px solid #e4e4e4;
  border-radius:18px;
  background:#fff;
  cursor:pointer;
  transition:.2s ease;
  font-weight:600;
}
.option-card:hover,.consent:hover{border-color:rgba(208,21,65,.5);background:#fff8fa}
.option-card:has(input:checked),.consent:has(input:checked){
  border-color:var(--primary);
  background:#fff5f7;
}
input[type=radio],input[type=checkbox]{
  width:22px;
  height:22px;
  min-height:auto;
  margin:0;
  padding:0;
  accent-color:var(--primary);
  flex:0 0 auto;
}
.consent{align-items:flex-start}
.legal-links{
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  margin-top:18px;
  font-weight:800;
}
.summary-box{
  border:1px solid var(--line);
  background:#fafafa;
  border-radius:18px;
  padding:18px;
  font-weight:700;
  color:#555;
}
.error-message{
  min-height:24px;
  margin:20px 0 0;
  text-align:center;
  color:var(--primary);
  font-weight:800;
}
.wizard-actions{
  display:flex;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
}
.secondary-btn{
  min-height:56px;
  padding:0 26px;
  border-radius:999px;
  border:1px solid #ddd;
  background:#fff;
  color:#333;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.next-btn,.submit-btn{margin-top:0;min-width:180px}
.submit-btn{display:none}
.hidden{display:none!important}
.success-card{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}
.success-icon{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border-radius:50%;
  margin:0 auto 20px;
  background:#eaf8ef;
  color:#168a3a;
  font-size:2rem;
  font-weight:900;
}
.success-card h2{
  margin:0 0 16px;
  font-size:clamp(2rem,5vw,3.5rem);
  letter-spacing:-.05em;
}
.success-card p{color:var(--muted)}
@media(max-width:760px){
  .container{width:min(100% - 22px,980px)}
  .wizard-section{align-items:start;padding:16px 0}
  .wizard-card{border-radius:20px;padding:18px}
  .wizard-top{gap:12px;padding-bottom:16px}
  .wizard-top img{width:58px}
  .grid,.choice-grid.two,.priority-row{grid-template-columns:1fr}
  .step h2{font-size:1.75rem}
  .wizard-actions{position:sticky;bottom:0;background:rgba(255,255,255,.95);padding-top:12px}
  .secondary-btn,.next-btn,.submit-btn{flex:1;padding:0 16px}
  h1{font-size:2.55rem}
}
.country-field select{
    width:100%;
    height:56px;
    margin-top:8px;
    padding:0 16px;
    border:1px solid #e5e5e5;
    border-radius:16px;
    background:#fff;
    font:inherit;
    font-weight:500;
    font-size:1rem;
    color:#242424;
    appearance:none;
    cursor:pointer;
}

.country-field select:focus{
    outline:none;
    border-color:#D01541;
    box-shadow:0 0 0 4px rgba(208,21,65,.1);
}

/* Abstand zwischen Voucher und persönlichen Angaben */
.voucher-section{
  margin-bottom:40px;
}

/* Zusatzbereiche für Gewichtsziel und Unverträglichkeiten */
.conditional-box{
  margin-top:18px;
}

.conditional-box[hidden]{
  display:none;
}

.conditional-title{
  margin:0 0 12px;
  font-weight:600;
  color:var(--text);
}

/* Übersetzungsauswahl über dem übrigen Seiteninhalt halten */
.gtranslate_wrapper{
  z-index:99999;
}
/* ---------- GTranslate Smartphone ---------- */

.gtranslate_wrapper{
    z-index:99999;
}

@media (max-width:768px){

    .gtranslate_wrapper{
        position:fixed !important;

        top:18px !important;
        right:18px !important;

        left:auto !important;
        bottom:auto !important;

        transform:scale(.88);
        transform-origin:top right;
    }

}
