html{overflow-y:scroll;}

:root{
  --ans-blue:#2b78c5;
  --ans-green:#3a9b59;
  --ans-dark:#0f172a;

  --footer-h: 56px;
}

.site-body{
  min-height:100vh;
  background: linear-gradient(180deg, rgba(43,120,197,0.06), rgba(58,155,89,0.03) 35%, rgba(15,23,42,0.00));
  /* Platz für den fixierten Footer */
  padding-bottom: calc(var(--footer-h) + 36px);
}

.site-body::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:url("background.png");
  background-size:cover;
  background-position:center;
  opacity:0.08;
  pointer-events:none;
  z-index:-2;
}

.site-body::after{
  content:"";
  position:fixed;
  inset:0;
  background: radial-gradient(circle at 20% 10%, rgba(43,120,197,.18), transparent 40%),
              radial-gradient(circle at 80% 20%, rgba(58,155,89,.14), transparent 45%);
  pointer-events:none;
  z-index:-1;
}

.glass-nav{
  backdrop-filter:saturate(160%) blur(10px);
  background: rgba(255,255,255,.78);
  border-bottom: 1px solid rgba(15,23,42,.08);
}

[data-bs-theme="dark"] .glass-nav{
  background: rgba(15,23,42,.72);
  border-bottom-color: rgba(255,255,255,.10);
}

.brand-logo{border-radius:8px;}
.brand-name{font-weight:700; letter-spacing:.2px;}

.hero{
  border-radius: 20px;
  overflow:hidden;
  background: linear-gradient(135deg, rgba(43,120,197,.15), rgba(58,155,89,.12));
  border: 1px solid rgba(15,23,42,.08);
}

[data-bs-theme="dark"] .hero{
  border-color: rgba(255,255,255,.12);
}

.hero-inner{
  padding: clamp(26px, 4.6vw, 56px);
}

.kicker{
  color: var(--ans-blue);
  font-weight:600;
  letter-spacing:.3px;
}

.feature-card{
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.78);
  backdrop-filter:saturate(160%) blur(10px);
  transition: transform .15s ease, box-shadow .15s ease;
}

.feature-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(15,23,42,.12);
}

[data-bs-theme="dark"] .feature-card{
  background: rgba(15,23,42,.55);
  border-color: rgba(255,255,255,.12);
}

.icon-badge{
  width:44px; height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 14px;
  background: rgba(43,120,197,.14);
}

.icon-badge i{font-size:22px;}

.section-title{
  font-weight:800;
  letter-spacing:.2px;
}

.site-footer{
  border-top: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.72);
  backdrop-filter:saturate(160%) blur(10px);
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040;
  height: var(--footer-h);
  display:flex;
  align-items:center;
}


.site-footer .container{
  padding-top: .7rem !important;
  padding-bottom: .7rem !important;
}

[data-bs-theme="dark"] .site-footer{
  background: rgba(15,23,42,.70);
  border-top-color: rgba(255,255,255,.10);
}

.icon-link{
  font-size: 1.5rem;
  color: inherit;
  opacity:.85;
  text-decoration:none;
}
.icon-link:hover{opacity:1}

.whatsapp-fab{
  position: fixed;
  right: 18px;
  /* nach oben verschoben (ein Icon-Abstand) */
  bottom: 212px;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: #25D366;
  color: #fff;
  text-decoration:none;
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
  z-index: 1050;
}
.whatsapp-fab i{font-size:26px;}

.instagram-fab{
  position: fixed;
  right: 18px;
  /* ursprüngliche WhatsApp-Position */
  bottom: 148px;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  color:#fff;
  text-decoration:none;
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
  z-index: 1050;
}
.instagram-fab i{font-size:26px;}

.scroll-top{
  position: fixed;
  right: 18px;
  bottom: 88px;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  border: 0;
  display:none;
  align-items:center;
  justify-content:center;
  background: rgba(15,23,42,.90);
  color: #fff;
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
  z-index: 1050;
}
.scroll-top i{font-size:20px;}

.cookie-banner{
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 2000;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.92);
  backdrop-filter:saturate(160%) blur(10px);
  padding: 14px;
  display:flex;
  gap: 12px;
  align-items:center;
  justify-content:space-between;
}

[data-bs-theme="dark"] .cookie-banner{
  background: rgba(15,23,42,.90);
  border-color: rgba(255,255,255,.14);
}

.cookie-text{
  font-size: .95rem;
}
.cookie-text a{ text-decoration:none; }
.cookie-actions{ display:flex; gap: 8px; flex-wrap:wrap; }

.preloader{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.65);
  backdrop-filter: blur(6px);
  z-index: 3000;
  opacity:1;
  transition: opacity .25s ease;
}
[data-bs-theme="dark"] .preloader{
  background: rgba(15,23,42,.65);
}
.preloader.hidden{
  opacity:0;
  pointer-events:none;
}

.reveal{
  opacity:0;
  transform: translateY(10px);
  transition: opacity .5s ease, transform .5s ease;
}
.reveal.visible{
  opacity:1;
  transform:none;
}

.map-frame{
  width:100%;
  min-height: 420px;
  border:0;
  border-radius: 16px;
}


/* Footer links (einheitlich, ohne Social/TeamViewer im Footer) */
.site-footer .footer-links{display:flex;align-items:center;gap:.25rem;font-size:.9rem;}
.site-footer .footer-links a{color:inherit;opacity:.85;text-decoration:none;}
.site-footer .footer-links a:hover{opacity:1;text-decoration:underline;}

html{overflow-y:scroll;}img{content-visibility:auto;}