
/* __DESIGN_SITE__ */
html:not(#_) .sidebar-inner{background:transparent;box-shadow:none;}
/* ^ posé par design_site.py : le panneau blanc d'Astro recouvrait le fond du .sidebar */
/* ============================================================
   sextreffen-online.de — direction "nuit neon"
   Fond anthracite, lisere rose fluo anime, liens qui s'allument.
   Ne touche qu'a la sidebar (header Astro), la barre mobile et
   le footer. Rien d'autre.
   ============================================================ */

html:not(#_){
  --nn-bg: #121216;
  --nn-bg2: #1a1a22;
  --nn-line: #b8b8c2;
  --nn-neon: #ff2d95;
  --nn-neon-soft: rgba(255,45,149,.55);
  --nn-violet: #9c27b0;
}

/* --- reduction de mouvement : on coupe toutes les animations --- */
@media (prefers-reduced-motion: reduce){
  html:not(#_) .sidebar, html:not(#_) .mobile-guest-top, html:not(#_) .footer-v1::before, html:not(#_) .sb-logo-dot, html:not(#_) .mobile-guest-timer, html:not(#_) .sb-link::after, html:not(#_) .footer-col a::after{
    animation: none !important;
    transition: none !important;
  }
}

/* ===================== SIDEBAR DESKTOP ===================== */

html:not(#_) .sidebar{
  background: linear-gradient(180deg, var(--nn-bg) 0%, var(--nn-bg2) 100%);
  border-right: 1px solid rgba(255,45,149,.25);
}
html:not(#_) .sidebar-inner{
  animation: nnSidebarIn .5s ease-out both;}
html:not(#_) .sidebar::after{
  content:"";
  position:absolute; top:0; right:-1px; bottom:0; width:2px;
  background: linear-gradient(180deg, var(--nn-neon), var(--nn-violet), var(--nn-neon));
  background-size: 100% 200%;
  opacity:.8;
  animation: nnLiseré 6s linear infinite;
}
@keyframes nnSidebarIn{
  from{ opacity:0; transform: translateX(-10px); }
  to{ opacity:1; transform: translateX(0); }
}
@keyframes nnLiseré{
  0%{ background-position: 0 0; }
  100%{ background-position: 0 200%; }
}

html:not(#_) .sb-logo-text{
  color:#fff;
  font-weight:700;
  letter-spacing:.03em;
  text-shadow: 0 0 8px var(--nn-neon-soft), 0 0 18px rgba(156,39,176,.35);
}
html:not(#_) .sb-logo-dot{
  color: var(--nn-neon);
  filter: drop-shadow(0 0 6px var(--nn-neon-soft));
  animation: nnDotPulse 2.4s ease-in-out infinite;
}
@keyframes nnDotPulse{
  0%,100%{ opacity:.7; }
  50%{ opacity:1; }
}

html:not(#_) .sb-section-title{
  color:#7a7a86;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
}

html:not(#_) .sb-link, html:not(#_) .sb-silo-region, html:not(#_) .sb-silo-ville, html:not(#_) .sb-map-quick-link{
  color: var(--nn-line);
  position: relative;
  transition: color .25s ease, text-shadow .25s ease;
}
html:not(#_) .sb-link .sb-ico{
  color:#6d6d78;
  transition: color .25s ease, filter .25s ease;
}
html:not(#_) .sb-link:hover, html:not(#_) .sb-link:focus-visible, html:not(#_) .sb-link.active, html:not(#_) .sb-silo-region:hover, html:not(#_) .sb-silo-region:focus-visible, html:not(#_) .sb-silo-ville:hover, html:not(#_) .sb-silo-ville:focus-visible, html:not(#_) .sb-map-quick-link:hover, html:not(#_) .sb-map-quick-link:focus-visible{
  color:#fff;
  text-shadow: 0 0 10px var(--nn-neon-soft);
}
html:not(#_) .sb-link:hover .sb-ico, html:not(#_) .sb-link:focus-visible .sb-ico, html:not(#_) .sb-link.active .sb-ico{
  color: var(--nn-neon);
  filter: drop-shadow(0 0 5px var(--nn-neon-soft));
}
html:not(#_) .sb-link::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-2px; height:1px;
  background: linear-gradient(90deg, var(--nn-neon), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}
html:not(#_) .sb-link:hover::after, html:not(#_) .sb-link:focus-visible::after, html:not(#_) .sb-link.active::after{
  transform: scaleX(1);
}
html:not(#_) .sb-map-quick-link{
  border:1px solid rgba(255,45,149,.35);
  border-radius:999px;
}

/* ===================== BARRE MOBILE ===================== */

html:not(#_) .mobile-guest-top{
  background: linear-gradient(180deg, var(--nn-bg) 0%, var(--nn-bg2) 100%);
  border-bottom: 1px solid rgba(255,45,149,.3);
  animation: nnTopIn .5s ease-out both;
}
html:not(#_) .mobile-guest-top::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-1px; height:2px;
  background: linear-gradient(90deg, transparent, var(--nn-neon), var(--nn-violet), transparent);
  background-size: 200% 100%;
  animation: nnLiseréH 5s linear infinite;
}
@keyframes nnTopIn{
  from{ opacity:0; transform: translateY(-8px); }
  to{ opacity:1; transform: translateY(0); }
}
@keyframes nnLiseréH{
  0%{ background-position: 0 0; }
  100%{ background-position: 200% 0; }
}

html:not(#_) .mobile-guest-brand{
  color:#fff;
  font-weight:700;
  text-shadow: 0 0 8px var(--nn-neon-soft);
}
html:not(#_) .mobile-guest-login{
  color: var(--nn-line);
  border:1px solid rgba(255,45,149,.4);
  border-radius:999px;
  padding:.45em 1em;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  transition: color .25s ease, border-color .25s ease, text-shadow .25s ease;
}
html:not(#_) .mobile-guest-login:hover, html:not(#_) .mobile-guest-login:focus-visible{
  color:#fff;
  border-color: var(--nn-neon);
  text-shadow: 0 0 8px var(--nn-neon-soft);
}
html:not(#_) .mobile-guest-cta{
  background: rgba(255,255,255,.03);
  border:1px solid rgba(255,45,149,.2);
  border-radius:14px;
}
html:not(#_) .mobile-guest-cta-offer{ color:#9c9ca6; }
html:not(#_) .mobile-guest-cta-kw{
  color:#fff;
  font-weight:700;
  text-shadow: 0 0 8px var(--nn-neon-soft);
}
html:not(#_) .mobile-guest-timer-label{ color:#7a7a86; }
html:not(#_) .mobile-guest-timer{
  color: var(--nn-neon);
  text-shadow: 0 0 8px var(--nn-neon-soft);
  animation: nnDotPulse 2.4s ease-in-out infinite;
}
html:not(#_) .mobile-guest-cta-btn{
  background: linear-gradient(90deg, var(--nn-neon), var(--nn-violet));
  color:#fff;
  border:none;
  border-radius:999px;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 0 16px var(--nn-neon-soft);
  transition: transform .2s ease, box-shadow .2s ease;
}
html:not(#_) .mobile-guest-cta-btn:hover, html:not(#_) .mobile-guest-cta-btn:focus-visible{
  transform: translateY(-2px);
  box-shadow: 0 4px 22px var(--nn-neon-soft);
}

/* ===================== FOOTER ===================== */

html:not(#_) .footer-v1{
  background: linear-gradient(180deg, var(--nn-bg2) 0%, var(--nn-bg) 100%);
  position: relative;
  overflow:hidden;
}
html:not(#_) .footer-v1::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:2px;
  background: linear-gradient(90deg, transparent, var(--nn-neon), var(--nn-violet), var(--nn-neon), transparent);
  background-size: 200% 100%;
  animation: nnLiseréH 7s linear infinite;
}
html:not(#_) .footer-col h4{
  color:#fff;
  text-shadow: 0 0 6px var(--nn-neon-soft);
  letter-spacing:.02em;
}
html:not(#_) .footer-col p, html:not(#_) .footer-col li{ color:#9c9ca6; }
html:not(#_) .footer-col a{
  color: var(--nn-line);
  position: relative;
  transition: color .25s ease, text-shadow .25s ease;
}
html:not(#_) .footer-col a:hover, html:not(#_) .footer-col a:focus-visible{
  color:#fff;
  text-shadow: 0 0 8px var(--nn-neon-soft);
}
html:not(#_) .footer-bottom{
  border-top:1px solid rgba(255,45,149,.15);
}
html:not(#_) .footer-bottom p{ color:#6d6d78; }

@media (prefers-reduced-motion: reduce){html:not(#_) .sidebar-inner{animation:none !important;transition:none !important;}}
html:not(#_) .sidebar-inner{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.45) transparent;}
/* __END_DESIGN_SITE__ */
