:root{
  --cream:#f6f0e6;
  --espresso:#2a1e18;
  --gold:#d8b15a;
  --gold2:#f2d08a;
}
body{ background:#0f0a08; color:var(--cream); overflow-x:hidden; }

/* Header warm/hell */
.ms-topbar{
  top:0;
  background: linear-gradient(180deg, rgba(246,240,230,.96), rgba(246,240,230,.86));
  border-bottom:1px solid rgba(216,177,90,.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: .25s ease;
}
.ms-topbar.is-scrolled{
  background: linear-gradient(180deg, rgba(246,240,230,.98), rgba(246,240,230,.92));
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
}

/* Adminbar: fixed Header nicht überdecken */
body.admin-bar .ms-topbar{ top: 32px; }
body.admin-bar .ms-hero{ padding-top: calc(92px + 32px); }
.ms-brand{ display:flex; align-items:center; gap:.75rem; font-weight:900; color:var(--espresso); text-decoration:none; }
.ms-brand-dot{
  width:10px;height:10px;border-radius:999px;
  background: radial-gradient(circle at 30% 30%, var(--gold2), var(--gold));
  box-shadow: 0 0 0 3px rgba(216,177,90,.18);
}
.navbar-nav .nav-link{
  color: rgba(42,30,24,.85) !important;
  font-weight: 700;
  padding: .75rem .9rem !important;
  position: relative;
}
.navbar-nav .nav-link:hover{ color: rgba(42,30,24,1) !important; }
.navbar-nav .nav-link.active::after{
  content:"";
  position:absolute;
  left:.9rem; right:.9rem; bottom:.35rem;
  height:2px;
  background: linear-gradient(90deg, var(--gold), var(--gold2));
  border-radius:999px;
  opacity:.95;
}

/* Hero Landing */
.ms-hero{
  min-height:100vh;
  padding-top:92px;
  padding-bottom:60px;
  display:flex;
  align-items:center;
  position:relative;
  background:
    radial-gradient(1000px 500px at 50% 20%, rgba(216,177,90,.22), transparent 55%),
    radial-gradient(900px 520px at 70% 70%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.48)),
    url('../images/cafe.jpg') center/cover no-repeat;
}
.ms-hero::before{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(circle at 50% 40%, rgba(0,0,0,.06), rgba(0,0,0,.52));
  pointer-events:none;
}
.ms-bokeh{
  position:absolute; inset:-80px;
  pointer-events:none; opacity:.65;
  background:
    radial-gradient(14px 14px at 15% 20%, rgba(242,208,138,.55), transparent 60%),
    radial-gradient(18px 18px at 30% 35%, rgba(216,177,90,.40), transparent 60%),
    radial-gradient(12px 12px at 55% 18%, rgba(255,255,255,.28), transparent 60%),
    radial-gradient(22px 22px at 80% 32%, rgba(242,208,138,.35), transparent 60%),
    radial-gradient(16px 16px at 70% 72%, rgba(255,255,255,.18), transparent 60%),
    radial-gradient(26px 26px at 20% 75%, rgba(216,177,90,.22), transparent 60%);
  mix-blend-mode: screen;
}
.ms-hero-inner{ position:relative; z-index:2; }

.ms-logo-wrap{
  display:inline-flex; align-items:center; justify-content:center;
  padding:22px 24px; border-radius:26px;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.10));
  border:1px solid rgba(216,177,90,.30);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.custom-logo-link img, .ms-logo-img{
  max-width:min(480px, 70vw);
  height:auto;
  display:block;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,.55));
}
.ms-hero-title{ margin-top:20px; font-weight:900; letter-spacing:.2px; text-shadow:0 10px 30px rgba(0,0,0,.55); }
.ms-hero-sub{
  max-width:880px; margin:10px auto 0;
  color: rgba(246,240,230,.92);
  font-size: clamp(1rem, 2.1vw, 1.15rem);
  line-height: 1.55;
  text-shadow: 0 10px 25px rgba(0,0,0,.45);
}

/* Buttons */
.btn-gold{
  border:0; border-radius:14px; padding:.95rem 1.25rem;
  font-weight:900; color:#1b120e;
  background: linear-gradient(90deg, var(--gold), var(--gold2));
  box-shadow:0 18px 40px rgba(216,177,90,.22);
  transition: transform .15s ease, filter .15s ease;
}
.btn-gold:hover{ transform: translateY(-2px); filter: brightness(1.03); }
.btn-ghost{
  border:1px solid rgba(246,240,230,.35);
  border-radius:14px; padding:.95rem 1.25rem;
  font-weight:800; color: rgba(246,240,230,.95);
  background: rgba(0,0,0,.16);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.btn-ghost:hover{ transform: translateY(-2px); border-color: rgba(242,208,138,.55); background: rgba(0,0,0,.20); }

/* Glass */
.ms-glass{
  background: rgba(255,255,255,.10);
  border:1px solid rgba(216,177,90,.22);
  border-radius:18px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding:18px;
}

/* Hours widget */
.ms-hours-wrap{ max-width:560px; }
.ms-hours-dot{
  width:10px;height:10px;border-radius:999px;
  background: linear-gradient(90deg,var(--gold),var(--gold2));
  box-shadow:0 0 0 4px rgba(216,177,90,.18);
}
.ms-status{
  background: rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.18);
  color:var(--cream);
}
.ms-status.is-open{ background: rgba(46,204,113,.18); border-color: rgba(46,204,113,.35); }
.ms-status.is-closed{ background: rgba(231,76,60,.18); border-color: rgba(231,76,60,.35); }
.ms-hours-row{
  display:flex; justify-content:space-between;
  padding:10px; border-radius:12px;
  background: rgba(0,0,0,.10);
  border:1px solid rgba(255,255,255,.08);
  margin-bottom:8px;
}
.ms-hours-row.is-today{ border-color: rgba(242,208,138,.45); background: rgba(216,177,90,.10); }
.ms-day{ font-weight:800; }
.ms-time{ color: rgba(246,240,230,.85); }

/* Scroll hint */
.ms-scroll-hint{
  position:absolute; left:50%; bottom:20px;
  transform:translateX(-50%);
  opacity:.85; display:flex; align-items:center; gap:.5rem; z-index:2;
  user-select:none;
}
.ms-scroll-dot{
  width:10px;height:10px;border-radius:999px;
  background: linear-gradient(90deg,var(--gold),var(--gold2));
  box-shadow:0 0 0 4px rgba(216,177,90,.18);
  animation: msBounce 1.5s infinite;
}
@keyframes msBounce{ 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-6px);} }

/* Content */
.ms-section{
  padding:70px 0;
  background: radial-gradient(900px 500px at 50% 0%, rgba(216,177,90,.10), transparent 60%),
              linear-gradient(180deg, #120b09, #0d0706);
}
/* Winterpause Banner */
.ms-season-banner{
  max-width: 980px;
  margin: 0 auto 18px;
  position: relative;
  z-index: 3;
}
.ms-season-inner{
  display:flex;
  align-items:center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(216,177,90,.28);
  box-shadow: 0 16px 45px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.ms-season-icon{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(216,177,90,.14);
  border: 1px solid rgba(216,177,90,.20);
}
.ms-season-icon i{
  font-size: 1.25rem;
  color: rgba(246,240,230,.95);
}
.ms-season-title{
  font-weight: 900;
  letter-spacing: .2px;
}
.ms-season-sub{
  color: rgba(246,240,230,.90);
  line-height: 1.35;
}
.ms-season-close{
  margin-left:auto;
  border: 0;
  background: transparent;
  color: rgba(246,240,230,.85);
  padding: 8px 10px;
  border-radius: 12px;
  transition: background .15s ease, color .15s ease;
}
.ms-season-close:hover{
  background: rgba(0,0,0,.18);
  color: rgba(246,240,230,1);
}

@media (max-width: 991.98px){
  .ms-hero{ padding-top:86px; }
  .ms-logo-wrap{ padding:18px; border-radius:20px; }

  /* Adminbar (mobil) */
  body.admin-bar .ms-topbar{ top: 46px; }
  body.admin-bar .ms-hero{ padding-top: calc(86px + 46px); }
}
