/*
Theme Name: JS Eventtechnik
Theme URI: https://example.com
Author: Jochen
Description: Dunkles, modernes Theme mit Neon-Akzenten für Veranstaltungstechnik. Hero mit Bühnenlicht-Effekt, Customizer-Optionen für Texte und Farben.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: js-eventtechnik
*/

:root{
  --night:#0b0a17;
  --surface:#15132b;
  --surface-2:#1d1a3a;
  --line:#2c2852;
  --text:#ece9fb;
  --muted:#9a95c4;
  --neon-a:#ff2e9a;
  --neon-b:#19e3ff;
  --radius:14px;
  --maxw:1160px;
  --font:Bahnschrift,"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--text);font-family:var(--font);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--neon-b);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--neon-b);outline-offset:3px;border-radius:4px}
.wrap{width:min(100% - 2.5rem,var(--maxw));margin-inline:auto}
.screen-reader-text{position:absolute;left:-9999px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,10,23,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:1rem}
.brand{font-weight:800;font-size:1.25rem;letter-spacing:.01em;color:var(--text)}
.brand:hover{text-decoration:none}
.brand b{color:var(--neon-a)}
.custom-logo{max-height:40px;width:auto}
.main-nav ul{list-style:none;display:flex;gap:1.75rem;margin:0;padding:0}
.main-nav a{color:var(--text);font-weight:500;padding:.4rem 0;border-bottom:2px solid transparent}
.main-nav a:hover,.main-nav .current-menu-item>a{border-color:var(--neon-a);text-decoration:none}
.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--text);padding:.5rem .8rem;border-radius:8px;font:inherit}

/* Buttons */
.btn{display:inline-block;padding:.9rem 1.6rem;border-radius:999px;font-weight:700;border:2px solid var(--neon-a);color:#fff;background:var(--neon-a);transition:box-shadow .2s,transform .2s}
.btn:hover{text-decoration:none;box-shadow:0 0 28px rgba(255,46,154,.55);transform:translateY(-1px)}
.btn--ghost{background:transparent;border-color:var(--neon-b);color:var(--neon-b)}
.btn--ghost:hover{box-shadow:0 0 28px rgba(25,227,255,.45)}

/* Hero: Bühnenlicht */
.hero{position:relative;overflow:hidden;padding:clamp(5rem,14vw,10rem) 0 clamp(4rem,10vw,7rem);isolation:isolate}
.hero::before,.hero::after{content:"";position:absolute;top:-30%;width:70%;height:160%;z-index:-1;filter:blur(30px);opacity:.55;transform-origin:50% 0}
.hero::before{left:-10%;background:conic-gradient(from 180deg at 50% 0,transparent 0 40%,var(--neon-a) 50%,transparent 60% 100%);animation:sweepL 9s ease-in-out infinite alternate}
.hero::after{right:-10%;background:conic-gradient(from 180deg at 50% 0,transparent 0 40%,var(--neon-b) 50%,transparent 60% 100%);animation:sweepR 11s ease-in-out infinite alternate}
@keyframes sweepL{from{transform:rotate(-22deg)}to{transform:rotate(18deg)}}
@keyframes sweepR{from{transform:rotate(20deg)}to{transform:rotate(-16deg)}}
.hero h1{font-size:clamp(2.4rem,7vw,5.2rem);line-height:1.03;margin:0 0 1.25rem;font-weight:800;letter-spacing:-.02em;max-width:15ch}
.hero p{font-size:clamp(1.1rem,2.2vw,1.35rem);color:var(--muted);max-width:52ch;margin:0 0 2rem}
.hero .actions{display:flex;flex-wrap:wrap;gap:1rem}

/* Sections */
.section{padding:clamp(3.5rem,8vw,6rem) 0}
.section h2{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1;margin:0 0 2.5rem;letter-spacing:-.01em}
.services{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.services li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1.5rem;padding:1.6rem 0 1.6rem 1.25rem;border-bottom:1px solid var(--line);border-left:3px solid transparent;transition:border-color .2s,background .2s}
.services li:hover{border-left-color:var(--neon-a);background:linear-gradient(90deg,rgba(255,46,154,.08),transparent 60%)}
.services li:nth-child(even):hover{border-left-color:var(--neon-b);background:linear-gradient(90deg,rgba(25,227,255,.08),transparent 60%)}
.services h3{margin:0;font-size:1.35rem}
.services p{margin:0;color:var(--muted)}

.cta-band{background:var(--surface);border-block:1px solid var(--line)}
.cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}
.cta-band h2{margin:0;max-width:22ch}

/* Inhalt (Seiten/Beiträge) */
.content{padding:clamp(3rem,7vw,5rem) 0}
.content .entry{max-width:760px}
.entry h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.1;margin:0 0 1.5rem}
.entry h2,.entry h3{margin-top:2.2em}
.entry blockquote{margin:1.5rem 0;padding:.5rem 1.25rem;border-left:3px solid var(--neon-a);color:var(--muted)}
.entry img{border-radius:var(--radius)}
.post-list article{padding:1.75rem 0;border-bottom:1px solid var(--line)}
.post-list h2{margin:0 0 .4rem;font-size:1.5rem}
.post-list h2 a{color:var(--text)}
.meta{color:var(--muted);font-size:.9rem}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:2.5rem 0;color:var(--muted);font-size:.95rem}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
.site-footer ul{list-style:none;display:flex;gap:1.25rem;margin:0;padding:0}
.site-footer a{color:var(--muted)}

@media (max-width:780px){
  .nav-toggle{display:block}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--night);border-bottom:1px solid var(--line);padding:1rem 1.25rem}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:.5rem}
  .services li{grid-template-columns:1fr;gap:.5rem}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
