
/* __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-kostenlos.de — direction : minimal clair
   Blanc casse, grande typographie, un seul trait de couleur (rouge signal)
   qui relie la barre laterale, le bandeau mobile et le pied de page. */

html:not(#_){
  --ds-bg: #faf7f2;      /* blanc casse */
  --ds-ink: #1c1a17;     /* quasi-noir chaud */
  --ds-muted: #6b6459;   /* gris chaud pour le texte secondaire */
  --ds-line: #e8e2d6;    /* filet neutre tres discret */
  --ds-accent: #c1272d;  /* l'unique trait de couleur : rouge signal */
}

/* ===== Entree en scene (une seule fois, sobre) ===== */
@keyframes ds-fade-in {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes ds-line-grow {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* ===== Barre laterale (desktop) ===== */
html:not(#_) .sidebar{
  background: var(--ds-bg);
  border-right: 1px solid var(--ds-line);
}
html:not(#_) .sidebar-inner{
  animation: ds-fade-in .6s ease both;}

html:not(#_) .sb-logo{
  position: relative;
  padding-bottom: .9rem;
  margin-bottom: .5rem;
}
html:not(#_) .sb-logo::after{
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 2.75rem; height: 3px;
  background: var(--ds-accent);
  transform-origin: left center;
  animation: ds-line-grow .7s .3s cubic-bezier(.4,0,.2,1) both;
}
html:not(#_) .sb-logo-dot{ color: var(--ds-accent); }
html:not(#_) .sb-logo-text{
  font-size: clamp(1.35rem, 1.1rem + 1vw, 1.75rem);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--ds-ink);
}

html:not(#_) .sb-section-title{
  color: var(--ds-muted);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-top: 1.4rem;
}

html:not(#_) .sb-link{
  color: var(--ds-muted);
  font-size: 1.02rem;
  font-weight: 600;
  border-left: 3px solid transparent;
  background: transparent;
  transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}
html:not(#_) .sb-link .sb-ico{ color: currentColor; }
html:not(#_) .sb-link:hover, html:not(#_) .sb-link.active{
  color: var(--ds-ink);
  border-left-color: var(--ds-accent);
  background: rgba(193, 39, 45, .06);
}

html:not(#_) .sb-map-quick-link{
  color: var(--ds-muted);
  font-weight: 600;
  transition: color .18s ease;
}
html:not(#_) .sb-map-quick-link:hover{ color: var(--ds-accent); }

html:not(#_) .sb-silo-region{
  color: var(--ds-ink);
  font-weight: 700;
  transition: color .18s ease;
}
html:not(#_) .sb-silo-region:hover{ color: var(--ds-accent); }
html:not(#_) .sb-silo-region .sb-chevron{ color: var(--ds-muted); }

html:not(#_) .sb-silo-ville{
  color: var(--ds-muted);
  font-size: .92rem;
  transition: color .16s ease, transform .16s ease;
  display: inline-block;
}
html:not(#_) .sb-silo-ville:hover{
  color: var(--ds-accent);
  transform: translateX(3px);
}

/* ===== Bandeau invite (mobile) ===== */
html:not(#_) .mobile-guest-top{
  background: var(--ds-bg);
  border-bottom: 1px solid var(--ds-line);
  animation: ds-fade-in .5s ease both;
}
html:not(#_) .mobile-guest-head{ padding-top: .85rem; padding-bottom: .85rem; }
html:not(#_) .mobile-guest-brand{
  color: var(--ds-ink);
  font-size: 1.18rem;
  font-weight: 800;
  letter-spacing: -.01em;
}
html:not(#_) .mobile-guest-login{
  color: var(--ds-ink);
  font-weight: 700;
  border-bottom: 2px solid var(--ds-accent);
  padding-bottom: 2px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

html:not(#_) .mobile-guest-cta{
  background: #fffdfa;
  border-top: 2px solid var(--ds-accent);
}
html:not(#_) .mobile-guest-cta-offer{
  color: var(--ds-muted);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
html:not(#_) .mobile-guest-cta-kw{
  color: var(--ds-ink);
  font-size: 1.08rem;
  font-weight: 800;
}
html:not(#_) .mobile-guest-timer-label{
  color: var(--ds-muted);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
html:not(#_) .mobile-guest-timer{
  color: var(--ds-accent);
  font-weight: 800;
  font-size: 1.05rem;
}
html:not(#_) .mobile-guest-cta-btn{
  background: var(--ds-accent);
  color: #fff;
  font-weight: 800;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: filter .18s ease, transform .18s ease;
}
html:not(#_) .mobile-guest-cta-btn:hover, html:not(#_) .mobile-guest-cta-btn:active{
  filter: brightness(1.08);
  transform: translateY(-1px);
}

/* ===== Pied de page ===== */
html:not(#_) .footer-v2{
  background: var(--ds-bg);
  border-top: 3px solid var(--ds-accent);
  animation: ds-fade-in .6s .1s ease both;
}
html:not(#_) .footer-inner{ padding-top: 2.4rem; padding-bottom: 2.4rem; }
html:not(#_) .footer-logo{
  color: var(--ds-ink) !important;
  font-size: clamp(1.3rem, 1.1rem + .9vw, 1.6rem);
  font-weight: 800;
  letter-spacing: -.02em;
  text-decoration: none;
}
html:not(#_) .footer-links a{
  color: var(--ds-muted);
  font-weight: 600;
  text-decoration: none;
  transition: color .18s ease;
}
html:not(#_) .footer-links a:hover{
  color: var(--ds-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
html:not(#_) .footer-copy{
  color: var(--ds-muted);
  font-size: .84rem;
}

/* ===== Repos si mouvement reduit demande ===== */
@media (prefers-reduced-motion: reduce) {
  html:not(#_) .sidebar, html:not(#_) .mobile-guest-top, html:not(#_) .footer-v2, html:not(#_) .sb-logo::after{
    animation: none !important;
  }
  html:not(#_) .sb-link, html:not(#_) .sb-map-quick-link, html:not(#_) .sb-silo-region, html:not(#_) .sb-silo-ville, html:not(#_) .mobile-guest-cta-btn, html:not(#_) .footer-links a{
    transition: none !important;
  }
}
@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__ */
