/* ===========================================================
   K.G. Veranstaltungstechnik – Modern Dark Theme (Neon Cyan)
   =========================================================== */
:root{
  --bg:#0a0e14;
  --bg-alt:#0e131c;
  --card:#141b26;
  --card-2:#18212e;
  --border:#233047;
  --text:#d7dee8;
  --heading:#ffffff;
  --muted:#8b97a8;
  --accent:#00e5ff;
  --accent-2:#00b8d4;
  --glow:rgba(0,229,255,.30);
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth}
body,#page,.site,.ast-separate-container{background-color:var(--bg)!important}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  color:var(--text)!important;
  -webkit-font-smoothing:antialiased;
  line-height:1.7;
}
.site-content,#content,#primary,.entry-content,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container #content .ast-container .ast-article-post{
  background:transparent!important;box-shadow:none!important;
}
h1,h2,h3,h4,h5,.site-title,.entry-title,.widget-title{
  font-family:'Poppins',sans-serif!important;
  color:var(--heading)!important;
  letter-spacing:-.01em;line-height:1.15;
}
p,li,span,td{color:var(--text)}
.entry-content p,.entry-content li{color:var(--text)}
a{color:var(--accent);text-decoration:none;transition:color .2s}
a:hover{color:#fff}
::selection{background:var(--accent);color:#04222b}

/* ---------- Header ---------- */
header.site-header,#masthead{
  position:sticky;top:0;z-index:1000;
  background:rgba(10,14,20,.82)!important;
  backdrop-filter:saturate(140%) blur(12px);
  -webkit-backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--border);
}
.main-header-bar,.ast-primary-header-bar,.site-primary-header-wrap{background:transparent!important}
.site-title a,.site-title{color:#fff!important;font-weight:800!important;letter-spacing:.02em}
.site-title a:hover{color:var(--accent)!important}
.ast-builder-menu .menu-link,.main-header-menu .menu-link,.main-navigation a{
  color:#cdd6e2!important;font-weight:500;transition:color .2s
}
.ast-builder-menu .menu-link:hover,.main-header-menu .menu-link:hover,
.main-navigation .current-menu-item>a{color:var(--accent)!important}
/* Login-Link: identisch zu den anderen Menüpunkten (kein Button) */
.main-header-menu a[href*="wp-admin"],
.ast-builder-menu a[href*="wp-admin"],
.ast-mobile-popup-drawer a[href*="wp-admin"]{
  background:transparent!important;border:none!important;box-shadow:none!important;
  padding:inherit!important;border-radius:0!important;font-weight:500!important;
  color:#cdd6e2!important
}
.main-header-menu a[href*="wp-admin"]:hover,
.ast-builder-menu a[href*="wp-admin"]:hover{color:var(--accent)!important}

/* ---------- Buttons ---------- */
.wp-block-button__link,.ast-button,.button,
input[type=submit],.wpcf7 input[type=submit]{
  background:var(--accent)!important;color:#04222b!important;
  border:none!important;border-radius:10px!important;font-weight:700!important;
  padding:.85em 1.7em!important;box-shadow:0 6px 22px var(--glow);
  transition:transform .2s,box-shadow .2s,background .2s
}
.wp-block-button__link:hover,.ast-button:hover,.button:hover,
input[type=submit]:hover,.wpcf7 input[type=submit]:hover{
  background:#34edff!important;color:#04222b!important;
  transform:translateY(-3px);box-shadow:0 10px 30px var(--glow)
}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent!important;color:#fff!important;
  border:2px solid var(--accent)!important;box-shadow:none
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:var(--accent)!important;color:#04222b!important
}

/* ---------- Cover / Hero ---------- */
.wp-block-cover{position:relative;overflow:hidden}
.wp-block-cover::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(60% 90% at 82% 6%,rgba(0,229,255,.20),transparent 60%),
            radial-gradient(50% 70% at 10% 100%,rgba(0,184,212,.14),transparent 60%)
}
.wp-block-cover__inner-container{position:relative;z-index:2}

/* ---------- Cards (Spalten mit Rahmen/Radius) ---------- */
.wp-block-column[style*="border-radius"]{
  background:var(--card)!important;border:1px solid var(--border)!important;
  transition:transform .25s,border-color .25s,box-shadow .25s
}
.wp-block-column[style*="border-radius"]:hover{
  transform:translateY(-6px);border-color:var(--accent)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.5),0 0 0 1px var(--glow)
}
.wp-block-column[style*="border-radius"] h3{color:#fff!important}
.wp-block-column[style*="border-radius"] p{color:var(--muted)!important}

/* Helle Inline-Hintergründe/Rahmen auf Dark umbiegen */
[style*="#f5f5f5"],[style*="background-color:#f5f5f5"]{
  background-color:var(--card)!important;color:var(--text)!important
}
[style*="#e2e2e2"]{border-color:var(--border)!important}
.kg-infobox{background:var(--card)!important;border:1px solid var(--border)}
.kg-infobox h2{color:#fff!important}

/* ---------- Blockquote (Testimonials) ---------- */
.wp-block-quote,blockquote{
  border-left:4px solid var(--accent)!important;background:var(--card);
  border-radius:0 12px 12px 0;padding:1.2rem 1.4rem!important;margin:1rem 0
}
.wp-block-quote cite,blockquote cite{color:var(--accent)}

/* ---------- Listen ---------- */
.entry-content ul li::marker{color:var(--accent)}

/* ---------- Kontaktformular (CF7) ---------- */
.kg-form input,.kg-form select,.kg-form textarea,
.wpcf7 input:not([type=submit]),.wpcf7 select,.wpcf7 textarea{
  background:#0d141e!important;border:1px solid var(--border)!important;
  color:var(--text)!important;border-radius:10px!important
}
.kg-form input:focus,.kg-form select:focus,.kg-form textarea:focus,
.wpcf7 input:focus,.wpcf7 textarea:focus{
  outline:none!important;border-color:var(--accent)!important;
  box-shadow:0 0 0 3px var(--glow)!important
}
.kg-form label,.wpcf7 label{color:#cdd6e2!important}
.wpcf7-response-output{border-color:var(--border)!important;color:var(--text)}

/* ---------- Bilder / Map ---------- */
.wp-block-image img,iframe{border-radius:14px}
.entry-content iframe{border:1px solid var(--border)}

/* ---------- Footer ---------- */
.site-footer,footer.site-footer,.ast-small-footer,.footer-sml-layout-1,
.ast-footer-overlay{background:#070a0f!important;border-top:1px solid var(--border)}
.site-footer *,.ast-small-footer *{color:var(--muted)!important}
.site-footer a,.ast-small-footer a{color:#cdd6e2!important}
.site-footer a:hover,.ast-small-footer a:hover{color:var(--accent)!important}

/* ---------- Inhaltsbreite & Rhythmus ---------- */
.ast-container,.entry-content>.alignwide{max-width:1180px}
.entry-content>*{margin-top:1.1rem}

/* ---------- Scrollbar ---------- */
*{scrollbar-color:var(--accent-2) var(--bg)}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:var(--accent-2)}

/* ---------- Sanftes Einblenden des Hero-Textes ---------- */
@keyframes kgFade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.wp-block-cover__inner-container>*{animation:kgFade .7s ease both}
.wp-block-cover__inner-container>*:nth-child(2){animation-delay:.08s}
.wp-block-cover__inner-container>*:nth-child(3){animation-delay:.16s}
.wp-block-cover__inner-container>*:nth-child(4){animation-delay:.24s}

/* ---------- Responsive ---------- */
@media(max-width:782px){
  .wp-block-cover h1{font-size:clamp(2rem,7vw,2.4rem)!important}
  header.site-header,#masthead{position:relative}
}

/* ===========================================================
   modern-web-design: Bold Minimalism + Scrollytelling
   =========================================================== */
/* Fluide, impactstarke Hero-Typografie (clamp) */
.wp-block-cover h1{font-size:clamp(2.4rem,1.7rem+3.2vw,3.8rem)!important;letter-spacing:-.02em!important}
.wp-block-cover .has-text-align-center{max-width:60ch;margin-inline:auto}

/* Großzügigerer vertikaler Rhythmus zwischen Sektionen */
.entry-content>.wp-block-group,
.entry-content>.wp-block-cover{margin-block:0}

/* Micro-Interaction: Button-Press */
.wp-block-button__link:active,input[type=submit]:active{transform:translateY(0) scale(.97)}

/* Scroll-Reveal (nur wenn Bewegung erwünscht) */
@media (prefers-reduced-motion: no-preference){
  .kg-reveal{opacity:0;transform:translateY(28px);
    transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
  .kg-reveal.is-visible{opacity:1;transform:none}
}

/* ===========================================================
   threejs-webgl: animierter Licht-/Partikel-Hero (nur Startseite)
   =========================================================== */
.kg-hero3d{background:#05080e!important}
.kg-hero3d>canvas.kg-canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;z-index:0;pointer-events:none}
.kg-hero3d>.wp-block-cover__background{opacity:.45!important;z-index:1;background:linear-gradient(180deg,rgba(5,8,14,.30),rgba(5,8,14,.78))!important}
.kg-hero3d::before{z-index:2}
.kg-hero3d>.wp-block-cover__inner-container{position:relative;z-index:3}

/* ---------- Footer (Astra Footer-Builder Bars) ---------- */
.site-footer,
.site-primary-footer-wrap,
.site-below-footer-wrap,
.site-footer .ast-builder-grid-row-container,
.ast-builder-grid-row-container-inner{
  background-color:#070a0f!important;
}
.site-below-footer-wrap,.site-primary-footer-wrap{border-top:1px solid var(--border)}
.site-footer *{color:var(--muted)!important}
.site-footer a{color:#cdd6e2!important}
.site-footer a:hover{color:var(--accent)!important}
