
/* Typography: Prefer Gilroy (if uploaded as /assets/fonts), fallback to Poppins */
@font-face{
  font-family: 'Gilroy';
  src: url('/assets/fonts/Gilroy-Regular.woff2') format('woff2'),
       url('/assets/fonts/Gilroy-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: 'Gilroy';
  src: url('/assets/fonts/Gilroy-Bold.woff2') format('woff2'),
       url('/assets/fonts/Gilroy-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root{
  --bg:#0e0f12;
  --text:#101318;
  --muted:#6b7280;
  --brand:#e74d3c;
  --accent:#1f2937;
  --surface:#ffffff;
  --primary:#111827;
  --gradient: linear-gradient(135deg,#e74d3c,#f39c12,#f1c40f,#2ecc71,#3498db,#8e44ad);
  --radius:18px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: 'Gilroy', 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif;
  color:var(--text);
  background:#fafafa;
  line-height:1.6;
}
img{max-width:100%;height:auto}
a{color:#1f2937;text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1100px,90%);margin-inline:auto}
.site-header{background:#fff;box-shadow:var(--shadow);position:sticky;top:0;z-index:50}
.header-wrap{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.brand img{display:block}
.site-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.site-nav a{padding:10px 12px;border-radius:12px;font-weight:600;white-space:nowrap}
.site-nav a.active, .site-nav a:hover{background:#f3f4f6}
.nav-toggle{display:none;border:0;background:transparent;font-size:26px}
.hero{
  padding:64px 0;
  background:var(--gradient);
  color:white;
}
.hero .card{
  background:#fff;
  color:var(--text);
  padding:28px;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.card{
  background:#fff;padding:22px;border-radius:var(--radius);box-shadow:var(--shadow)
}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:600;font-size:12px}
.cta{display:inline-block;background:#111827;color:#fff;padding:12px 16px;border-radius:12px;font-weight:700}
.cta.secondary{background:#fff;color:#111827;border:1px solid #e5e7eb}
.section{padding:56px 0}
h1,h2,h3,h4{margin:0 0 12px 0;line-height:1.15}
h1{font-size:38px} h2{font-size:28px} h3{font-size:22px}
.muted{color:var(--muted)}
.list-plain{list-style:none;margin:0;padding:0}
.site-footer{background:#111827;color:#e5e7eb;margin-top:42px;padding:24px 0}
.site-footer a{color:#e5e7eb}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:22px}
.logo-square{width:74px;height:auto;border-radius:12px;border:2px solid #374151}
.tiny{font-size:12px;color:#9ca3af}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}
.hero-claim{font-weight:800;font-size:42px}
.hero-sub{font-size:18px;color:#f1f5f9}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.check{color:#10b981}
.alert{padding:14px;border-radius:12px;background:#fef3c7;border:1px solid #fde68a}
.cookie-banner{position:fixed;bottom:16px;left:16px;right:16px;background:#111827;color:#fff;padding:12px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:var(--shadow)}
.cookie-banner a{color:#fff;text-decoration:underline}
.cookie-banner button{background:#10b981;border:0;border-radius:10px;padding:8px 12px;color:#111827;font-weight:700}
@media(max-width:900px){
  .grid-3{grid-template-columns:1fr}
  .features{grid-template-columns:1fr}
  .kv{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .nav-toggle{display:block}
  .site-nav{display:none;position:absolute;top:64px;right:5%;background:#fff;border-radius:12px;box-shadow:var(--shadow)}
  .site-nav ul{flex-direction:column;padding:12px}
  .site-nav a{display:block}
  .site-nav.open{display:block}
}

/* --- AGB-Seite: Überschriften-Abstand --- */
.section.container h2 {
  margin-top: 2rem; /* ca. 32px */
}

/* --- Mobile enhancements --- */
.hide-sm{display:inline}
@media(max-width:900px){
  .hide-sm{display:none}
  .site-nav a{font-size:15px;padding:12px 14px}
  .hero-claim{font-size:32px}
  .hero-sub{font-size:16px}
}
@media(max-width:560px){
  .site-nav a{font-size:14px;padding:12px;white-space:nowrap}
  .header-wrap{padding:8px 0}
  .brand img{height:48px}
  .cta{padding:12px 14px}
}
/* Improve nav toggle tap area */
.nav-toggle{display:none;border:0;background:transparent;font-size:28px;line-height:1;padding:10px;border-radius:10px}
@media(max-width:900px){ .nav-toggle{display:block} }


/* v16 fixes */
.site-header .brand{margin-right:28px; display:flex; align-items:center}
.lang-switch{position:relative; margin-left:auto}
.lang-btn{padding:8px 12px; display:flex; align-items:center; justify-content:center; gap:8px}
.lang-menu{position:absolute; right:0; top:calc(100% + 6px); background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:8px; display:none; min-width:200px; box-shadow:0 12px 30px rgba(0,0,0,.12); z-index:50}
.lang-menu.open{display:block}
.lang-menu a{display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:8px; text-decoration:none; color:#111}
.lang-menu a:hover{background:#f5f7f9}
.lang-flag{font-size:18px; line-height:1}
.lang-code{font-weight:600; min-width:28px}

.site-footer .hb-logo{ display:inline-block; margin-top:12px; background:none!important; border:0!important; padding:0!important; box-shadow:none!important; text-decoration:none!important; }
.site-footer .hb-logo img{ display:block; height:auto; max-width:160px }


/* v18: ensure HB image logo (no button styles) */
.site-footer .hb-logo,
.site-footer .hb-logo:link,
.site-footer .hb-logo:visited{
  display:inline-block;
  margin-top:12px;
  background:none !important;
  border:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
}
.site-footer .hb-logo img{
  display:block;
  height:auto;
  max-width:180px;
}
/* keep spacing between last nav item and language switch */
.lang-switch{ margin-left:24px; }
@media (max-width: 900px){ .lang-switch{ margin-left:16px; } }

/* v19 hb fixes */
.site-footer .hb-logo,
.site-footer .hb-logo:link,
.site-footer .hb-logo:visited{ 
  background:none!important; border:0!important; padding:0!important; 
  box-shadow:none!important; text-decoration:none!important; display:inline-block;
}
.site-footer .hb-logo::before, .site-footer .hb-logo::after{ content:none!important; }
.site-footer .hb-logo img{ display:block; height:auto; max-width:180px }

/* v21 nav-like language button */
.lang-btn{
  background:none !important;
  border:none !important;
  padding:4px 6px !important;
  border-radius:8px;
  box-shadow:none !important;
  cursor:pointer;
}
.lang-btn:hover{ background:rgba(0,0,0,0.06); }
.lang-btn .lang-code{ font-weight:600; }
/* space between menu and language switch */
.lang-switch{ margin-left:24px; }
@media (max-width: 900px){ .lang-switch{ margin-left:16px; } }

.content .container h1 {
  margin-top: 40px; /* Abstand nach oben */
}
