/* ═══════════════════════════════════════════════
   FC LAUTERACH · Gemeinsamer Kopfbereich
   Bewusst OHNE globale Regeln (kein *, kein body),
   damit er auf jeder Seite eingebunden werden kann,
   ohne deren Layout zu veraendern.
   ═══════════════════════════════════════════════ */

.vh{position:sticky;top:0;z-index:200;background:rgba(5,7,6,.92);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08);font-family:'Archivo',sans-serif;}
.vh *{box-sizing:border-box;}
.vh a{text-decoration:none;color:inherit;}
.vh img{display:block;max-width:100%;}

.vh-top{display:flex;align-items:center;justify-content:space-between;padding:12px 34px;gap:16px;}
.vh-left{display:flex;align-items:center;gap:14px;}
.vh-soc{display:flex;gap:7px;}
.vh-soc a{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;color:#cfd6d1;
  transition:transform .2s,background .2s,border-color .2s,color .2s;}
.vh-soc a svg{width:14px;height:14px;display:block;}
.vh-soc a:hover{transform:translateY(-2px);color:#fff;}
.vh-soc a.s-fb:hover{background:#1877f2;border-color:#1877f2;}
.vh-soc a.s-ig:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);border-color:transparent;}
.vh-soc a.s-yt:hover{background:#ff0000;border-color:#ff0000;}
.vh-phone{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1px;color:#8b948e;}

.vh-brand{display:flex;align-items:center;gap:10px;}
.vh-orbit{position:relative;width:46px;height:46px;flex:none;display:inline-flex;align-items:center;justify-content:center;}
.vh-orbit svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.vh-orbit svg circle{transform-box:fill-box;transform-origin:center;}
.vh-orbit .ra{animation:vh-spin 14s linear infinite;filter:drop-shadow(0 0 4px rgba(41,216,107,.55));}
.vh-orbit .rb{animation:vh-spin 20s linear infinite reverse;}
.vh-orbit img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:62%;height:62%;object-fit:contain;}
@keyframes vh-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.vh-name{font-family:'Anton',sans-serif;font-size:18px;letter-spacing:1.5px;color:#f0ede6;}
.vh-sub{font-family:'JetBrains Mono',monospace;font-size:7.5px;letter-spacing:4px;color:#6b746e;display:block;}

.vh-right{display:flex;align-items:center;gap:10px;}
.vh-login{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:2px;color:#cfd6d1;
  padding:8px 14px;border:1px solid rgba(255,255,255,.16);transition:all .2s;}
.vh-login:hover{border-color:#29d86b;color:#29d86b;}
.vh-shop{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:10px;letter-spacing:2px;
  color:#04140b;background:#29d86b;padding:9px 15px;box-shadow:0 0 18px rgba(41,216,107,.4);}

/* Navigationszeile */
.vh-nav{display:flex;justify-content:center;align-items:center;gap:30px;padding:4px 0 14px;flex-wrap:wrap;}
.vh-nav>a,.vh-nav>.vh-dd>a{position:relative;display:inline-block;padding-bottom:8px;
  font-family:'Archivo',sans-serif;font-weight:700;font-size:12px;letter-spacing:2px;
  color:#cfd6d1;transition:color .2s;white-space:nowrap;}
.vh-nav>a::after,.vh-nav>.vh-dd>a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;
  border-radius:1px;background:linear-gradient(to right,#29d86b,#7CFFB0);
  transform:scaleX(0);transform-origin:center;transition:transform .25s cubic-bezier(.4,0,.2,1);}
.vh-nav>a:hover::after,.vh-dd:hover>a::after,.vh-nav>a.active::after,.vh-nav>.vh-dd>a.active::after{transform:scaleX(1);}
.vh-nav>a:hover,.vh-dd:hover>a{color:#29d86b;}
.vh-nav>a.active,.vh-nav>.vh-dd>a.active{color:#29d86b;}

.vh-dd{position:relative;display:flex;align-items:center;}
.vh-caret{display:inline-block;width:6px;height:6px;margin-left:8px;vertical-align:middle;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .25s;}
.vh-dd-menu{position:absolute;top:150%;left:50%;transform:translateX(-50%);background:rgba(5,12,8,.97);
  border:1px solid rgba(41,216,107,.25);padding:8px 0;min-width:230px;
  opacity:0;visibility:hidden;transition:all .2s;z-index:30;}
.vh-dd:hover .vh-dd-menu{opacity:1;visibility:visible;top:130%;}
.vh-dd-menu a{display:block;padding:9px 20px;font-size:12px;letter-spacing:1px;color:#cfd6d1;}
.vh-dd-menu a:hover{background:rgba(41,216,107,.12);color:#29d86b;}
.vh-dd-menu a.active{color:#29d86b;}

/* Burger (nur mobil) */
.vh-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.vh-burger span{width:24px;height:2px;background:#cfd6d1;display:block;transition:all .3s;}
.vh-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.vh-burger.open span:nth-child(2){opacity:0;}
.vh-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.vh-nav-foot{display:none;}

@media(max-width:900px){
  /* Liegt fest oben - gleiche Position wie auf der Startseite, der Burger
     bleibt dadurch auf der ganzen Seite erreichbar.
     (sticky scheitert hier, weil body overflow-x:hidden hat)
     Den Platzhalter-Abstand setzt das Skript exakt: siehe kopfAbstand(). */
  .vh{backdrop-filter:none;background:rgba(5,7,6,.98);position:fixed;top:0;left:0;right:0;z-index:60;}
  .vh-top{padding:13px 16px;flex-wrap:nowrap;gap:12px;position:relative;z-index:60;}
  .vh-top.menu-offen{background:#070d09;}
  .vh-left,.vh-phone,.vh-soc,.vh-login,.vh-shop{display:none;}
  .vh-brand{flex:1;min-width:0;}
  .vh-name{font-size:16px;letter-spacing:2px;white-space:nowrap;}
  .vh-sub{font-size:9px;letter-spacing:3px;}
  .vh-burger{display:flex;}

  .vh-nav{position:fixed;inset:0;z-index:50;flex-direction:column;align-items:stretch;justify-content:flex-start;
    gap:0;padding:92px 24px 40px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;background:#070d09;
    opacity:0;visibility:hidden;transform:translateY(-10px);
    transition:opacity .3s ease,transform .3s ease,visibility .3s;}
  .vh-nav.open{opacity:1;visibility:visible;transform:translateY(0);}
  .vh-nav>a,.vh-nav>.vh-dd{width:100%;max-width:420px;margin:0 auto;border-bottom:1px solid rgba(255,255,255,.07);}
  .vh-dd{display:block;}
  .vh-nav>a,.vh-nav>.vh-dd>a{display:block;padding:17px 2px;font-size:16px;letter-spacing:2.5px;}
  .vh-nav>a::after,.vh-nav>.vh-dd>a::after{display:none;}
  .vh-caret{width:8px;height:8px;margin-left:11px;transform:translateY(-3px) rotate(45deg);}
  .vh-dd.open>a .vh-caret{transform:translateY(1px) rotate(225deg);}
  .vh-dd.open>a{color:#29d86b;}
  .vh-dd-menu{display:none;position:static;transform:none;opacity:1;visibility:visible;
    background:rgba(41,216,107,.05);border:none;border-radius:0 8px 8px 0;
    margin:0 0 12px;padding:6px 0 6px 2px;min-width:0;}
  .vh-dd.open .vh-dd-menu{display:block;}
  /* :hover bleibt auf Touch-Geraeten haengen - sicherstellen, dass die
     Desktop-Verschiebung dabei nicht zurueckkommt */
  .vh-dd:hover .vh-dd-menu,
  .vh-dd.open .vh-dd-menu{position:static;transform:none;left:auto;top:auto;}
  .vh-dd-menu a{padding:11px 0 11px 16px;font-size:13.5px;letter-spacing:.6px;color:#96a09a;
    border-left:2px solid rgba(41,216,107,.3);}
  .vh-dd-menu a:hover{background:none;color:#29d86b;}

  .vh-nav-foot{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:420px;
    margin:32px auto 0;padding-top:26px;border-top:1px solid rgba(255,255,255,.08);}
  .vh-nav-foot .nf-shop{display:block;width:100%;text-align:center;padding:15px 20px;border-radius:10px;
    font-family:'Archivo',sans-serif;font-weight:800;font-size:12.5px;letter-spacing:2px;color:#04140b;
    background:linear-gradient(135deg,#3bec80,#1fae55);box-shadow:0 8px 24px rgba(41,216,107,.3);}
  .vh-nav-foot .nf-phone{font-family:'JetBrains Mono',monospace;font-size:13px;color:#cfd6d1;}
  .vh-nav-soc{display:flex;gap:12px;}
  .vh-nav-soc a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.18);
    display:flex;align-items:center;justify-content:center;color:#cfd6d1;}
  .vh-nav-soc a svg{width:17px;height:17px;display:block;}
}
