:root{
  --bg:linear-gradient(180deg,#f3f7ff,#faf8f3);
  --text:#172033;
  --muted:#6b7686;
  --primary:#2f6df6;
  --border:rgba(120,140,180,0.25);
}

html, body{
  height:100%;
  margin:0;
}

body{
  display:flex;
  flex-direction:column;
  min-height:100vh;
}

.page-content{
  flex:1;
}


.container{
  max-width:900px;
  width:100%;
  margin:auto; /* 🔥 DAS übernimmt jetzt die Zentrierung */

}

.card{
  background:white;
  padding:40px;
  border-radius:24px;
  max-width:800px;
  box-shadow:0 30px 60px rgba(0,0,0,0.12);
}

/* GRID */
.card-grid{
  display:flex;
  gap:32px;
  align-items:center;
}

.card-img{
  width:45%;
  border-radius:20px;
  object-fit:cover;
  box-shadow:0 15px 40px rgba(0,0,0,0.15);
}

.card-content{
  width:55%;
}

/* TYPO */
.eyebrow{
  font-size:0.9rem;
  color:var(--muted);
  margin-bottom:8px;
}

.title{
  font-size:2.4rem;
  margin:0 0 12px;
}

.subtitle{
  font-size:1.1rem;
  margin-bottom:20px;
}

/* FORM */
.label{
  margin-top:16px;
  font-weight:600;
}

select{
  width:100%;
  padding:14px;
  margin-top:8px;
  border-radius:14px;
  border:1px solid var(--border);
  font-size:1rem;
}

/* BUTTON */
button{
  width:100%;
  margin-top:20px;
  padding:16px;
  border:none;
  border-radius:14px;
  font-weight:700;
  background:var(--primary);
  color:white;
  cursor:pointer;
  transition:all 0.2s ease;
}

button:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 20px rgba(47,109,246,0.2);
}


.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 .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;
  }

  /* 👉 Bild GANZ oben */
  body .card-grid .card-img{
    order:-1 !important;
    width:85% !important;
    margin:0 auto 10px 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:2rem !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.35);
  }

  /* 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;
  }

}