:root{--header-h:72px;--border:rgba(0,0,0,.08)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,"Noto Sans",sans-serif;background:#fff;color:#111;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1160px;margin:0 auto;padding:0 20px}
/* Header transparent over hero */
.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);z-index:60;background:transparent;display:flex;align-items:center;transition:background-color .4s ease,box-shadow .3s ease}
.site-header.scrolled{background:rgba(255,255,255,.96);backdrop-filter:saturate(120%) blur(6px);box-shadow:0 2px 10px rgba(0,0,0,.06);border-bottom:1px solid var(--border)}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}
.brandmark{height:56px;width:auto;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.18));transition:filter .3s ease}
.site-header.scrolled .brandmark{filter:none}
.nav-links{display:flex;gap:20px;align-items:center}
.nav-links a{padding:6px 10px;border-radius:10px;border:1px solid transparent;color:#fff;transition:color .3s ease,border-color .3s ease;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.site-header.scrolled .nav-links a{color:#111;text-shadow:none}
.nav-links a:hover{border-color:var(--border)}

/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding-top:var(--header-h);overflow:hidden;border-bottom:1px solid var(--border)}
.hero-img{position:absolute;inset:0;background:url('/assets/img/hero.jpg') center/cover no-repeat;filter:brightness(.9)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.15) 20%,rgba(0,0,0,0) 60%);pointer-events:none}
.hero-overlay{position:relative;z-index:2;text-align:center;color:#fff;text-shadow:0 3px 10px rgba(0,0,0,.55);padding:16px 20px}
.hero-overlay h1{margin:0;font-size:clamp(2.2rem,6vw,4.2rem);font-weight:800}

/* Sections */
.section{padding:84px 0;border-bottom:1px solid var(--border);background:#fff}
.section.alt{background:#f6f7f8}
.section,.hero{scroll-margin-top:calc(var(--header-h) + 12px)}
.grid{display:grid;gap:24px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:960px){.grid.two{grid-template-columns:1fr}}
.split .media{border-radius:16px;overflow:hidden;border:1px solid var(--border);background:#fff}
.split .text{padding:10px}

/* Menu section */
.card{border:1px solid var(--border);border-radius:14px;padding:20px;background:#fff}
.btn{display:inline-block;padding:10px 16px;border-radius:10px;background:#111;color:#fff;text-decoration:none}
.btn:hover{background:#333}
.muted{color:#666;font-size:.95rem}
.menu-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 16px;
}

.menu-gallery img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--border);
  cursor: pointer;
  transition: transform 0.2s ease;
}
.menu-gallery img:hover {
  transform: scale(1.05);
}

.lightbox{display:none;position:fixed;z-index:999;inset:0;background:rgba(0,0,0,.85);justify-content:center;align-items:center}
.lightbox.active{display:flex}
.lightbox img{max-width:92%;max-height:92%;border-radius:10px;box-shadow:0 0 20px rgba(0,0,0,.8)}

/* Footer */
.site-footer{padding:36px 0;color:#555;background:#fff}
.foot{display:flex;align-items:center;justify-content:space-between;gap:12px}

/* Map */
.map iframe{width:100%; height:320px; border:0; border-radius:14px}

/* --- Mobile Navigation --- */
.mobile-toggle{
  display:none;
  background:transparent;
  border:1px solid var(--border, rgba(0,0,0,.08));
  padding:8px 10px;
  border-radius:10px;
  font-size:1.2rem;
  line-height:1;
  cursor:pointer;
  color:#fff;
}
.site-header.scrolled .mobile-toggle{ color:#111; }

@media (max-width: 900px){
  .nav-links{
    display:none;
    position:absolute;
    right:20px;
    top: calc(var(--header-h, 72px) + 10px);
    background: rgba(255,255,255,0.98);
    border:1px solid var(--border, rgba(0,0,0,.08));
    border-radius:12px;
    padding:10px;
    box-shadow: 0 8px 30px rgba(0,0,0,.12);
    min-width: 220px;
  }
  .nav-links a{
    display:block;
    color:#111 !important;
    text-shadow:none;
    padding:10px 12px;
    border-radius:8px;
  }
  .mobile-toggle{ display:inline-flex; align-items:center; justify-content:center; }
  .nav-links.open{ display:block; }
}


/* Grid-Spalten NICHT strecken */
.grid.two { align-items: start; }

/* Sicherstellen, dass die Bild-Karte nicht gestreckt wird */
.split .media { align-self: start; }

/* Bild sauber einpassen */
.split .media img { display:block; width:100%; height:auto; }
