/* ============================================================
   SIDE-LINKS – HARD RESET + EINHEITLICHE OPTIK
   (überschreibt globales a/button Styling nur innerhalb side-links)
   ============================================================ */

.side-links a,
.side-links button{
  all: unset;                 /* killt visited/underline/default button styles */
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  cursor: pointer;
  color: var(--side-links-text, #fff);
}

/* Hauptpunkte + Subpunkte bekommen denselben “Basis-Körper” */
.side-links .side-link-btn,
.side-links .side-share-item{
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  text-align: left;
  color: var(--side-links-text, #fff);
}

/* Hauptpunkte */
.side-links > .side-link-btn,
.side-links > .side-share > .side-link-btn,
.side-links > .side-contact > .side-link-btn{
  padding: 12px 14px;
  min-height: 44px;
  font-size: 15.5px;
  font-weight: 650;
  line-height: 1.25;
}

/* Subpunkte */
.side-links .side-share-sub .side-share-item,
.side-links .side-contact-sub .side-share-item{
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.25;
  color: var(--side-links-text-sub, rgba(255,255,255,.88));
}

/* Hover/Active/Focus (für ALLE Items identisch) */
.side-links > .side-link-btn:hover,
.side-links > .side-share > .side-link-btn:hover,
.side-links > .side-contact > .side-link-btn:hover,
.side-links .side-share-sub .side-share-item:hover,
.side-links .side-contact-sub .side-share-item:hover{
  background: var(--side-links-hover-bg, rgba(255,255,255,.08));
  color: var(--side-links-text, #fff);
}

.side-links > .side-link-btn:active,
.side-links > .side-share > .side-link-btn:active,
.side-links > .side-contact > .side-link-btn:active,
.side-links .side-share-sub .side-share-item:active,
.side-links .side-contact-sub .side-share-item:active{
  background: var(--side-links-active-bg, rgba(255,255,255,.12));
}

.side-links a:focus-visible,
.side-links button:focus-visible{
  outline: 2px solid var(--side-links-focus-outline, rgba(255,255,255,.45));
  outline-offset: -2px;
}

/* Container */
.side-links{
  margin-top: 12px;
  background: var(--side-links-bg, #0b1220);
  border: 1px solid var(--side-links-border, rgba(255,255,255,.10));
  box-shadow: var(--side-links-shadow, 0 10px 28px rgba(0,0,0,.35));
  border-radius: 14px;
  overflow: hidden;
}

/* Trennlinien Hauptpunkte */
.side-links > .side-link-btn + .side-link-btn,
.side-links > .side-share + .side-link-btn,
.side-links > .side-contact + .side-link-btn,
.side-links > .side-link-btn + .side-share,
.side-links > .side-link-btn + .side-contact{
  border-top: 2px solid var(--side-links-divider-strong, rgba(255,255,255,.35));
}

/* Submenu Box */
.side-links .side-share-sub,
.side-links .side-contact-sub{
  background: var(--side-links-sub-bg, rgba(255,255,255,.04));
  padding: 4px 0;
}

/* Trennlinien im Submenu */
.side-links .side-share-sub .side-share-item + .side-share-item,
.side-links .side-contact-sub .side-share-item + .side-share-item{
  border-top: 1px solid var(--side-links-divider, rgba(255,255,255,.12));
}

/* Icons */
.side-links .icon{
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--side-links-icon-bg, rgba(255,255,255,.12));
  border: 1px solid var(--side-links-icon-border, rgba(255,255,255,.22));
  color: var(--side-links-icon-color, #fff);
}

.side-links .icon-svg{
  width: 18px;
  height: 18px;
}

.side-links .icon-svg,
.side-links .icon-svg *{
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* FIX: Text in Sidebox-Share-Links immer sichtbar */
.side-links a[target="_blank"]{
  -webkit-text-fill-color: currentColor !important;
  text-fill-color: currentColor !important;
}

/* =========================================
   SIDE LINKS – visited-Fix (FINAL)
   ========================================= */

/* ALLE Zustände explizit festnageln */
.side-links a,
.side-links a:link,
.side-links a:visited,
.side-links a:hover,
.side-links a:active,
.side-links a:focus{
  color: var(--side-links-text, #fff) !important;
  text-decoration: none;
}

/* Submenüs leicht gedimmt – aber auch visited stabil */
.side-links .side-share-sub a,
.side-links .side-contact-sub a,
.side-links .side-share-sub a:visited,
.side-links .side-contact-sub a:visited{
  color: var(--side-links-text-sub, rgba(255,255,255,.88)) !important;
}

/* Sicherheit gegen andere Effekte */
.side-links a{
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}
