
/* __DESIGN_SITE__ */
/* ===================================================================
   sextreffen-nordrhein-westfalen.de — direction « Ruhr industriel
   chaleureux » : rouge brique + anthracite. Trois zones stylées :
   sidebar desktop, barre mobile (bandeau + onglets bas), footer.
   =================================================================== */

html:not(#_){
  --ind-fond:      #211f1d;  /* anthracite de base */
  --ind-panel:     #2c2925;  /* panneau (sidebar-inner, footer) */
  --ind-surface:   #38332d;  /* survol / carré d'icône */
  --ind-ligne:     #4a443c;  /* liseré / séparateur sur fond sombre */
  --ind-brique:    #a83f27;  /* rouge brique — fonds, boutons, barres */
  --ind-brique-v:  #ff8f66;  /* brique éclaircie — liens/icônes actifs (contraste) */
  --ind-creme:     #efe6da;  /* texte principal sur fond sombre */
  --ind-muet:      #c9b8a6;  /* texte secondaire / libellés */
}

/* ===================== 1. SIDEBAR (desktop) ===================== */

html:not(#_) .sidebar-inner{
  background:var(--ind-panel);
  border:1px solid var(--ind-ligne);
  border-radius:4px;               /* coins presque droits : registre industriel */
  box-shadow:none;
}

/* Logo : plaque carrée + barre épaisse sous le bloc (première séparation) */
html:not(#_) .sb-logo{
  position:relative;
  padding-bottom:14px;
  margin-bottom:10px;
}
html:not(#_) .sb-logo::after{
  content:"";
  position:absolute;left:6px;right:6px;bottom:0;height:4px;
  background:linear-gradient(90deg,var(--ind-brique) 0%,var(--ind-brique-v) 45%,var(--ind-brique) 90%);
  background-size:220% 100%;
  animation:sbGleam 6s linear infinite;
}
html:not(#_) .sb-logo-dot{
  border-radius:4px;               /* carré, pas un rond */
  background:linear-gradient(135deg,var(--ind-brique),#7a2c1a);
  border:2px solid var(--ind-brique-v);
}
html:not(#_) .sb-logo-text{
  color:var(--ind-creme);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:800;
}

/* Liens de nav : icône dans un carré, entrée en fondu échelonnée */
html:not(#_) .sb-link{
  color:var(--ind-muet);
  border-radius:3px;
}
html:not(#_) .sb-link:hover{
  background:var(--ind-surface);
  color:var(--ind-creme);
}
html:not(#_) .sb-link.active{
  background:rgba(168,63,39,.22);
  color:var(--ind-creme);
  box-shadow:inset 4px 0 0 var(--ind-brique);   /* barre épaisse à gauche du lien actif */
}
html:not(#_) .sb-ico{
  width:28px;height:28px;                       /* carré bien visible autour de l'icône */
  background:var(--ind-fond);
  border:1px solid var(--ind-ligne);
  border-radius:3px;
  color:var(--ind-muet);
}
html:not(#_) .sb-link:hover .sb-ico{
  border-color:var(--ind-brique-v);
}
html:not(#_) .sb-link.active .sb-ico{
  background:var(--ind-brique);
  border-color:var(--ind-brique);
  color:#fff;
}
html:not(#_) .sb-map-quick-link .sb-ico, html:not(#_) .sb-section-title .sb-ico, html:not(#_) .sb-top-item .sb-ico{
  width:20px;height:20px;                       /* variantes plus petites, restent carrées */
}
html:not(#_) .sb-map-quick-link{ color:var(--ind-brique-v); }
html:not(#_) .sb-map-quick-link:hover{ background:var(--ind-surface); }

/* Sections : barre épaisse de séparation (pas un simple filet) */
html:not(#_) .sb-section{
  border-top:4px solid var(--ind-brique);
  padding-top:12px;
  margin-top:4px;
}
html:not(#_) .sb-section-title{
  color:var(--ind-muet);
  position:relative;
  padding-left:20px;
}
html:not(#_) .sb-section-title::before{
  content:"";
  position:absolute;left:8px;top:50%;
  width:8px;height:8px;margin-top:-4px;
  background:var(--ind-brique-v);               /* petit carré-jalon, pas de texte */
}

/* Silo régions / villes */
html:not(#_) .sb-silo-region{ color:var(--ind-muet); }
html:not(#_) .sb-silo-region:hover{ background:var(--ind-surface); color:var(--ind-brique-v); }
html:not(#_) .sb-chevron{ color:var(--ind-muet); }
html:not(#_) .sb-silo-villes{
  border-left:3px solid var(--ind-ligne);
  margin-left:8px;
}
html:not(#_) .sb-silo-ville{ color:var(--ind-muet); }
html:not(#_) .sb-silo-ville:hover{ background:var(--ind-surface); color:var(--ind-brique-v); }
html:not(#_) .sb-silo-more{ color:var(--ind-brique-v); }
html:not(#_) .sb-silo-group + .sb-silo-group{
  border-top:3px solid var(--ind-ligne);
  margin-top:8px;padding-top:8px;
}

@keyframes sbGleam{ 0%{background-position:0% 0} 100%{background-position:220% 0} }
@keyframes sbFadeIn{ from{opacity:0;transform:translateX(-6px)} to{opacity:1;transform:none} }
html:not(#_) .sb-nav .sb-link{ animation:sbFadeIn .4s ease both; }
html:not(#_) .sb-nav .sb-link:nth-child(1){ animation-delay:.02s }
html:not(#_) .sb-nav .sb-link:nth-child(2){ animation-delay:.07s }
html:not(#_) .sb-nav .sb-link:nth-child(3){ animation-delay:.12s }
html:not(#_) .sb-nav .sb-link:nth-child(4){ animation-delay:.17s }

/* ============== 2. BARRE MOBILE — bandeau + onglets bas ============== */

html:not(#_) .mobile-guest-top{
  background:var(--ind-panel);
  border-top:4px solid var(--ind-brique);       /* même signature que la sidebar */
  border-bottom:1px solid var(--ind-ligne);
  box-shadow:0 2px 10px rgba(0,0,0,.35);
}
/* Ordre inversé demandé : le login glisse à gauche, la marque à droite */
html:not(#_) .mobile-guest-head{
  flex-direction:row-reverse;
  border-bottom-color:var(--ind-ligne);
}
html:not(#_) .mobile-guest-brand{
  color:var(--ind-creme);
  text-transform:uppercase;
  letter-spacing:.05em;
}
html:not(#_) .mobile-guest-login{
  color:var(--ind-brique-v);
  border:1px solid var(--ind-brique);
  border-radius:2px;
  padding:3px 9px;
  background:var(--ind-surface);
}
html:not(#_) .mobile-guest-cta-offer{ color:var(--ind-muet); }
html:not(#_) .mobile-guest-cta-kw{ color:var(--ind-creme); }
html:not(#_) .mobile-guest-timer-label{ color:var(--ind-muet); }
html:not(#_) .mobile-guest-timer{ color:var(--ind-brique-v); }
html:not(#_) .mobile-guest-cta-btn{
  background:var(--ind-brique);
  border-radius:2px;                            /* carré, pas de pilule */
  min-height:48px;                               /* ≥44px garanti, quel que soit le texte */
  display:flex;align-items:center;justify-content:center;
  text-transform:uppercase;letter-spacing:.04em;
}

/* Onglets du bas : icône dans un petit carré, même code couleur */
html:not(#_) .bottom-bar{
  background:var(--ind-panel);
  border-top:4px solid var(--ind-brique);
  box-shadow:0 -2px 10px rgba(0,0,0,.3);
}
html:not(#_) .btab{ color:var(--ind-muet); }
html:not(#_) .btab:hover, html:not(#_) .btab.active{ color:var(--ind-brique-v); }
html:not(#_) .btab-ico{
  border-radius:3px;
  transition:background-color .15s,border-color .15s;
}
html:not(#_) .btab.active .btab-ico{
  background:var(--ind-brique);
  border:1px solid var(--ind-brique);
}

/* ========================= 3. FOOTER ========================= */

html:not(#_) .footer-v3{
  background:var(--ind-fond);
  border-top:6px solid var(--ind-brique);
  position:relative;
}
html:not(#_) .footer-v3::before{
  /* fine bande « rivetée » qui dérive lentement — signature industrielle discrète */
  content:"";
  position:absolute;top:-6px;left:0;right:0;height:6px;
  background-image:radial-gradient(var(--ind-brique-v) 1px,transparent 1.6px);
  background-size:14px 6px;
  opacity:.55;
  animation:footRivets 14s linear infinite;
}
html:not(#_) .footer-top{
  padding:1.1rem 0;
  border-bottom:2px solid var(--ind-ligne);
  gap:1rem;
}
html:not(#_) .footer-brand h3{
  color:var(--ind-creme);
  font-size:1.05rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
html:not(#_) .footer-brand p{ color:var(--ind-muet); font-size:.8rem; }
html:not(#_) .footer-newsletter p{ color:var(--ind-muet); }
html:not(#_) .footer-newsletter .btn.btn-primary{
  background:var(--ind-brique);
  border-radius:2px;
  font-variant-caps:all-small-caps;
  letter-spacing:.03em;
  transition:transform .15s,background-color .15s;
}
html:not(#_) .footer-newsletter .btn.btn-primary:hover{
  background:var(--ind-brique-v);
  color:var(--ind-fond);
  transform:translateY(-1px);
}

/* Les quatre colonnes deviennent une seule ligne de liens en petites
   capitales ; les titres de colonne restent dans le DOM (accessibilité)
   mais ne sont plus affichés visuellement. */
html:not(#_) .footer-grid{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.3rem 0;
  padding:.9rem 0;
}
html:not(#_) .footer-col h4{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;white-space:nowrap;border:0;clip:rect(0,0,0,0);
}
html:not(#_) .footer-col{
  display:flex;align-items:center;
  padding:0 1rem;
  border-left:2px solid var(--ind-ligne);
}
html:not(#_) .footer-col:first-child{ border-left:none; padding-left:0; }
html:not(#_) .footer-col ul{
  display:flex;flex-wrap:wrap;
  gap:.15rem 1rem;
}
html:not(#_) .footer-col a{
  color:var(--ind-muet);
  font-variant-caps:all-small-caps;
  letter-spacing:.03em;
  font-weight:600;
  font-size:.95rem;
  position:relative;
}
html:not(#_) .footer-col a::after{
  /* soulignement qui se déploie au survol — transform seul, sobre */
  content:"";
  position:absolute;left:0;right:0;bottom:-2px;height:1px;
  background:var(--ind-brique-v);
  transform:scaleX(0);transform-origin:left;
  transition:transform .18s ease;
}
html:not(#_) .footer-col a:hover{ color:var(--ind-creme); }
html:not(#_) .footer-col a:hover::after{ transform:scaleX(1); }
html:not(#_) .contact-email a{
  font-variant-caps:all-small-caps;
  letter-spacing:.03em;
  color:var(--ind-muet);
}
html:not(#_) .footer-bottom{
  border-top:1px solid var(--ind-ligne);
  color:var(--ind-muet);
}

@keyframes footRivets{ from{background-position:0 0} to{background-position:140px 0} }

/* Coupure complète des animations pour qui la demande */
@media (prefers-reduced-motion: reduce){
  html:not(#_) .sb-logo::after, html:not(#_) .sb-nav .sb-link, html:not(#_) .footer-v3::before, html:not(#_) .footer-newsletter .btn.btn-primary, html:not(#_) .footer-col a::after{
    animation:none !important;
    transition:none !important;
    opacity:1 !important;
    transform: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__ */
