/* TOP-Eventtechnik Onepager – Webspace-ready (no router, no build) */
:root{
  --background: 0 0% 9%;
  --foreground: 0 0% 100%;
  --card: 0 0% 12%;
  --card-foreground: 0 0% 100%;
  --secondary: 0 0% 15%;
  --muted: 0 0% 20%;
  --muted-foreground: 0 0% 65%;
  --accent: 45 100% 60%;
  --accent-foreground: 0 0% 9%;
  --border: 0 0% 20%;
  --ring: 45 100% 60%;
  --radius: 16px;

  --gradient-gold: linear-gradient(135deg, hsl(45 100% 60%) 0%, hsl(35 100% 50%) 100%);
  --gradient-dark: linear-gradient(180deg, hsl(0 0% 9%) 0%, hsl(0 0% 6%) 100%);
  --gradient-hero: linear-gradient(135deg, hsl(0 0% 12%) 0%, hsl(0 0% 6%) 50%, hsl(0 0% 9%) 100%);
  --gradient-card: linear-gradient(145deg, hsl(0 0% 14%) 0%, hsl(0 0% 10%) 100%);

  --shadow-glow: 0 0 60px hsla(45, 100%, 60%, 0.15);
  --shadow-card: 0 25px 50px -12px hsla(0,0%,0%,0.5);
  --shadow-button: 0 10px 40px -10px hsla(45, 100%, 60%, 0.4);

  --transition-smooth: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-bounce: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

html{scroll-behavior:smooth}
body{
  background: hsl(var(--background));
  color: hsl(var(--foreground));
}

/* --- Custom utility classes from the original build --- */
.text-gradient-gold{
  background: var(--gradient-gold);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color: transparent;
}
.bg-gradient-hero{ background: var(--gradient-hero); }
.bg-gradient-dark{ background: var(--gradient-dark); }
.bg-gradient-card{ background: var(--gradient-card); }

.glass{
  background: hsla(0,0%,100%,0.03);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border: 1px solid hsla(0,0%,100%,0.08);
}
.glass-strong{
  background: hsla(0,0%,100%,0.06);
  -webkit-backdrop-filter: blur(30px);
  backdrop-filter: blur(30px);
  border: 1px solid hsla(0,0%,100%,0.12);
}

.hover-lift{ transition: var(--transition-smooth); }
.hover-lift:hover{ transform: translateY(-8px); }

.shadow-glow{ box-shadow: var(--shadow-glow); }
.shadow-card{ box-shadow: var(--shadow-card); }
.shadow-button{ box-shadow: var(--shadow-button); }

/* Buttons (match original shadcn variants) */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .02em;
  transition: var(--transition-smooth);
  user-select:none;
}
.btn:focus{ outline:none; box-shadow: 0 0 0 4px hsla(45,100%,60%,0.22); }
.btn-xl{ padding: .95rem 1.25rem; font-size: 1.05rem; }
.btn-lg{ padding: .75rem 1.05rem; font-size: .95rem; }

.btn-hero{
  background: var(--gradient-gold);
  color: hsl(var(--accent-foreground));
  box-shadow: var(--shadow-button);
}
.btn-hero:hover{ transform: translateY(-2px); filter: brightness(1.02); }

.btn-heroOutline{
  background: transparent;
  border: 1px solid hsla(45,100%,60%,0.55);
  color: hsl(var(--foreground));
}
.btn-heroOutline:hover{
  background: hsla(45,100%,60%,0.08);
  transform: translateY(-2px);
}

/* Reveal animations (replacement for Framer Motion in static HTML) */
.reveal{
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .7s ease, transform .7s ease;
  will-change: opacity, transform;
}
.reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}
.reveal[data-reveal="left"]{ transform: translateX(-36px); }
.reveal[data-reveal="right"]{ transform: translateX(36px); }
.reveal.is-visible[data-reveal="left"],
.reveal.is-visible[data-reveal="right"]{ transform: translateX(0); }

@media (prefers-reduced-motion: reduce){
  .reveal{ transition:none; opacity:1; transform:none; }
  .float-blob, .scroll-dot { animation:none !important; }
}

/* Header slide-in */
.header-enter{
  animation: headerEnter .65s ease-out forwards;
}
@keyframes headerEnter{
  from{ transform: translateY(-100px); opacity:0; }
  to{ transform: translateY(0); opacity:1; }
}

/* Floating background blobs */
.float-blob{ filter: blur(48px); }
@keyframes blobFloatA{ 0%,100%{ transform: translateY(0); opacity:.30 } 50%{ transform: translateY(-20px); opacity:.50 } }
@keyframes blobFloatB{ 0%,100%{ transform: translateY(0); opacity:.20 } 50%{ transform: translateY(20px); opacity:.40 } }
.blob-a{ animation: blobFloatA 8s ease-in-out infinite; }
.blob-b{ animation: blobFloatB 10s ease-in-out infinite; animation-delay: 2s; }

/* Scroll indicator */
@keyframes scrollY{ 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(10px);} }
.scroll-shell{ border-color: hsla(0,0%,100%,0.22); }
.scroll-dot{ animation: scrollY 2s ease-in-out infinite; }

/* Toast */
.toast{
  position: fixed;
  right: 18px;
  bottom: 18px;
  max-width: 360px;
  z-index: 9999;
  pointer-events:none;
  opacity:0;
  transform: translateY(16px);
  transition: opacity .25s ease, transform .25s ease;
}
.toast.show{ opacity:1; transform: translateY(0); }
.toast-card{
  border-radius: 16px;
  padding: 14px 14px;
  background: hsla(0,0%,100%,0.06);
  border: 1px solid hsla(0,0%,100%,0.12);
  -webkit-backdrop-filter: blur(26px);
  backdrop-filter: blur(26px);
  box-shadow: 0 20px 50px -25px hsla(0,0%,0%,0.65);
}
.toast-title{ font-weight: 800; }
.toast-desc{ color: hsla(0,0%,100%,0.70); font-size: .92rem; margin-top: 2px; }


/* === Hinweise-Banner (Unsere Leistungen) === */
.notice-banner{
  width: 80%;
  margin: 18px 0 26px;
  border-radius: 16px;
  margin-left: auto;
  margin-right: auto;
  background: linear-gradient(135deg, rgba(220,38,38,.95), rgba(185,28,28,.92));
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 18px 45px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.06) inset;
}

.notice-inner{
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 16px 18px;
}

.notice-badge{
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  font-weight: 900;
  color: rgba(255,255,255,.95);
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 10px 25px rgba(0,0,0,.25);
}

.notice-content{
  flex: 1 1 auto;
  min-width: 0;
}

.notice-title{
  font-weight: 800;
  letter-spacing: .2px;
  color: rgba(255,255,255,.98);
  margin: 0 0 8px;
}

.notice-list{
  margin: 0;
  padding-left: 18px;
  color: rgba(255,255,255,.92);
}

.notice-list li{
  margin: 6px 0;
  line-height: 1.35;
}

.notice-cta{
  flex: 0 0 auto;
  align-self: center;
  text-decoration: none;
  font-weight: 700;
  padding: 10px 12px;
  border-radius: 12px;
  color: rgba(255,255,255,.98);
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.22);
  transition: transform .15s ease, background .15s ease;
}

.notice-cta:hover{
  transform: translateY(-1px);
  background: rgba(0,0,0,.24);
}

@media (max-width: 720px){
  .notice-inner{ flex-direction: column; align-items: stretch; }
  .notice-cta{ width: 100%; text-align: center; }
}
/* === /Hinweise-Banner === */