/* ===== Header / Navbar: Logo oben, Nav darunter (immer) ===== */
.navbar{
  position: sticky;
  top: 0;
  z-index: 50;

  display: flex;
  flex-direction: column;    /* ✅ immer untereinander */
  align-items: center;
  gap: 12px;

  padding: 16px 14px;

  background: rgba(255,255,255,.78);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  border-bottom: 1px solid rgba(40,16,60,.10);
  box-shadow: 0 12px 26px rgba(30,10,45,.06);

  transition: padding 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.logo img{
  width: 120px;              /* ✅ größer */
  height: auto;
  filter: drop-shadow(0 12px 20px rgba(30,10,45,.12));
  transition: width 220ms ease;
}

/* Nav */
.nav ul{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;           /* ✅ bricht sauber um */
  gap: 14px;

  list-style: none;
  padding: 0;
  margin: 0;
}

.nav a{
  color: rgba(42,18,54,.70);
  text-decoration: none;
  font-weight: 500;
  letter-spacing: .2px;

  padding: 8px 10px;
  border-radius: 999px;

  transition: transform 180ms ease, color 180ms ease, background 180ms ease;
}

.nav a:hover{
  color: rgba(42,18,54,1);
  transform: translateY(-1px);
  background: rgba(181,108,255,.10);
}

.nav a.is-active{
  color: rgba(42,18,54,1);
  background: rgba(181,108,255,.14);
}

/* Scroll shrink (optional) */
.header--scrolled .navbar{
  padding: 10px 14px;
  background: rgba(255,255,255,.90);
  box-shadow: 0 16px 34px rgba(30,10,45,.08);
}
.header--scrolled .logo img{
  width: 78px;
}

/* Mobile Feinschliff */
@media (max-width: 520px){
  .logo img{ width: 104px; }
  .header--scrolled .logo img{ width: 76px; }
  .nav ul{ gap: 10px; }
  .nav a{ padding: 8px 9px; }
}

/* =========================
   NAVBAR FIX (greift immer)
   Logo oben, Nav darunter
========================= */

header .navbar{
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 14px !important;
  background: rgba(255,255,255,.78) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid rgba(40,16,60,.10) !important;
  box-shadow: 0 12px 26px rgba(30,10,45,.06) !important;
}

/* Logo größer */
header .logo img{
  width: 120px;
  height: auto;
  display: block;
  filter: drop-shadow(0 12px 20px rgba(30,10,45,.12));
}

/* UL: Punkte weg + horizontal */
header nav ul{
  list-style: none;     /* ✅ entfernt Punkte */
  padding: 0;
  margin: 0;

  display: flex;        /* ✅ nebeneinander */
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
}

/* Links modern */
header nav a{
  display: inline-block !important;
  text-decoration: none !important;
  color: rgba(42,18,54,.75) !important;
  font-weight: 500 !important;
  letter-spacing: .2px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease !important;
}

header nav a:hover{
  color: rgba(42,18,54,1);
  transform: translateY(-1px);
  background: rgba(181,108,255,.12);
}

/* Active */
header nav a.is-active{
  color: rgba(42,18,54,1);
  background: rgba(181,108,255,.16);
}

/* Mobile: etwas kompakter */
@media (max-width: 520px){
  header .logo img{ width: 104px; }
  header nav ul{ gap: 10px; }
  header nav a{ padding: 8px 10px; }
}

footer {
  background-color: #eae0f2;
  padding: 2rem 1rem;
  text-align: center;
}
footer .social a {
  color: #181818;
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
footer .legal {
  margin-bottom: 1rem;
}
footer .legal a {
  color: #181818;
  margin: 0 0.5rem;
}
footer p {
  font-size: 0.875rem;
  color: rgba(0, 0, 0, 0.6);
}

/* FOOTER */
footer {
  background-color: #eae0f2;
  padding: 2rem;
  text-align: center;
}
footer .social i {
  font-size: 1.5rem;
  margin-right: 0.5rem;
}
footer .legal {
  margin: 1rem 0;
}
a {
  color: inherit;
  text-decoration: none;
}
    /* Responsive: auf kleinen Bildschirmen Spalten zu Zeilen */
    @media (max-width: 768px) {
      .about-content {
        flex-direction: column;
      }
    }

    /* Fade-in */
    .fade-in { opacity: 1; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease; }
    .fade-in.visible { opacity: 1; transform: translateY(0); }

    .site-header{
  position: relative;
  padding: 18px 16px 40px;
  overflow: hidden;
}

/* Sakura Hintergrund */
.site-header::before{
  content:"";
  position:absolute;
  inset:0;
  background: url("/img/WhatsApp Image 2026-01-19 at 17.28.02.jpeg") center/cover no-repeat;
  filter: saturate(1.05);
  z-index:0;
}

/* leichte Aufhellung, damit Text & Navi gut lesbar sind */
.site-header::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.88));
  z-index:0;
}

.navwrap, .hero{
  position: relative;
  z-index: 1;
}

/* Navbar Layout: links | logo | rechts */
.nav{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 10px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.65);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,.06);
}

.nav__list{
  list-style:none;
  display:flex;
  gap: 14px;
  padding:0;
  margin:0;
  align-items:center;
}

.nav__list--left{ justify-content: flex-start; }
.nav__list--right{ justify-content: flex-end; }

.nav__link{
  text-decoration:none;
  color:#1f1f1f;
  font-weight: 600;
  padding: 10px 12px;
  border-radius: 12px;
}

.nav__link:hover{
  background: rgba(0,0,0,.06);
}

.nav__link--btn{
  background: rgba(0,0,0,.85);
  color: #fff;
}
.nav__link--btn:hover{
  background: rgba(0,0,0,.92);
}

/* Logo ohne “schwarzes Quadrat” */
.nav__brand{
  display:flex;
  align-items:center;
  justify-content:center;
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: transparent; /* wichtig */
}

.nav__brand img{
  width: 64px;
  height: 64px;
  object-fit: contain;
  display:block;
  /* falls dein PNG trotzdem “Kasten” hat: */
  border-radius: 18px;
}

/* Hero */
.hero{
  max-width: 1100px;
  margin: 28px auto 0;
  text-align: center;
}