/* Nachtkarte – nur Joomla-Startseite, übrige Seiten und Consent unverändert. */
body.tsg-site.is-home { background:#01141f; }
body.tsg-site.is-home .site-header { background:#01141f; border-bottom:1px solid rgba(255,255,255,.12); }
body.tsg-site.is-home .nachtkarte { color:#fff; background:#01141f; font-family:Arial,Helvetica,sans-serif; }
body.tsg-site.is-home .nachtkarte-sr { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
body.tsg-site.is-home .nachtkarte-hero-image { position:relative; margin:0; overflow:hidden; }
body.tsg-site.is-home .nachtkarte-hero-image::after { content:""; position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(1,20,31,.15),transparent 65%,#01141f); }
body.tsg-site.is-home .nachtkarte-hero-image img { display:block;width:100%;height:auto;max-height:calc(100svh - 10rem);min-height:260px;object-fit:cover;object-position:center 55%; }
body.tsg-site.is-home .nachtkarte-credit { position:absolute;right:clamp(1rem,4vw,4rem);bottom:.6rem;z-index:2;color:#c3d0dc;font-size:.7rem; }
body.tsg-site.is-home .nachtkarte-credit a { color:inherit; }
body.tsg-site.is-home .nachtkarte-intro { text-align:center;padding:1rem 1rem 3rem; }
body.tsg-site.is-home .nachtkarte-intro p { max-width:650px;margin:0 auto;color:#b4bec9;font-size:clamp(1.05rem,1rem + .35vw,1.25rem);line-height:1.6; }
body.tsg-site.is-home .nachtkarte-cta { display:inline-flex;gap:1rem;align-items:center;margin-top:1.75rem;padding:.65rem 0;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;font-weight:700;border-bottom:1px solid #dcebF8; }
body.tsg-site.is-home .nachtkarte-cta span { color:#dcebf8;font-size:1.3rem; }
body.tsg-site.is-home .nachtkarte-facts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1280px;margin:0 auto;padding:0 clamp(1rem,4vw,4rem);border-top:1px solid rgba(255,255,255,.12); }
body.tsg-site.is-home .nachtkarte-facts>div { display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.4rem .5rem 1.8rem; }
body.tsg-site.is-home .nachtkarte-facts>div+div { border-left:1px solid rgba(255,255,255,.12); }
body.tsg-site.is-home .nachtkarte-facts dd { order:0;margin:0;color:#dcebf8;font-size:clamp(1.3rem,2.5vw,2.3rem);font-weight:700; }
body.tsg-site.is-home .nachtkarte-facts dt { order:1;color:#b4bec9;font-size:.85rem; }
/* News section sits in existing Joomla page shell, uses existing dynamic module. */
body.tsg-site.is-home .page-shell { background:#fff; }
body.tsg-site.is-home .nachtkarte-news { padding:clamp(3rem,7vw,6rem) 0 2rem;color:#1b2430; }
body.tsg-site.is-home .nachtkarte-news-heading { display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1.5rem;padding-bottom:1.8rem;margin-bottom:2rem;border-bottom:1px solid #c9d3de; }
body.tsg-site.is-home .nachtkarte-kicker { display:block;color:#0f6bb4;font-size:.75rem;font-weight:700;letter-spacing:.22em;margin-bottom:1rem; }
body.tsg-site.is-home .nachtkarte-news-heading h2 { margin:0;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;letter-spacing:-.03em;color:#1b2430; }
body.tsg-site.is-home .nachtkarte-news-heading h2 span { color:#0f6bb4; }
body.tsg-site.is-home .nachtkarte-news-heading>a { color:#1b2430;font-weight:700;text-decoration:none;border-bottom:1px solid #0f6bb4;padding:.5rem 0; }
body.tsg-site.is-home .nachtkarte-news-content { min-width:0; }
body.tsg-site.is-home .nachtkarte-shortcuts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #c9d3de;margin:2rem 0 3rem; }
body.tsg-site.is-home .nachtkarte-shortcuts>a { display:flex;flex-direction:column;gap:.7rem;min-width:0;padding:1.5rem;text-decoration:none;color:#1b2430; }
body.tsg-site.is-home .nachtkarte-shortcuts>a+a { border-left:1px solid #c9d3de; }
body.tsg-site.is-home .nachtkarte-shortcuts>a:hover { background:#eef3f8; }
body.tsg-site.is-home .nachtkarte-shortcuts small { color:#0f6bb4;font-size:.72rem;letter-spacing:.14em;font-weight:700; }
body.tsg-site.is-home .nachtkarte-shortcuts strong { font-size:clamp(1.15rem,2vw,1.7rem); }
body.tsg-site.is-home .nachtkarte-shortcuts span { color:#5c6978;font-size:.9rem; }
@media(max-width:700px) { body.tsg-site.is-home .nachtkarte-shortcuts {grid-template-columns:1fr;} body.tsg-site.is-home .nachtkarte-shortcuts>a+a {border-left:0;border-top:1px solid #c9d3de;} body.tsg-site.is-home .nachtkarte-facts dd {font-size:1.2rem;} body.tsg-site.is-home .nachtkarte-facts dt {font-size:.73rem;} }


/* TSG SALACH – Nachtkarte-Navigation, einheitlich Desktop/Mobil */
body.tsg-site .site-header .primary-navigation .nav-level-0 > li > a,
body.tsg-site .site-header .primary-navigation .nav-level-0 > li > .nav-label,
body.tsg-site .site-header .primary-navigation .nav-level-0 > li > .submenu-toggle {
  color: #fff !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  border-radius: 0 !important;
}
body.tsg-site .site-header .primary-navigation .nav-level-0 > li > a:hover,
body.tsg-site .site-header .primary-navigation .nav-level-0 > li > a:focus-visible,
body.tsg-site .site-header .primary-navigation .nav-level-0 > li > .nav-label:hover,
body.tsg-site .site-header .primary-navigation .nav-level-0 > li.is-current > a,
body.tsg-site .site-header .primary-navigation .nav-level-0 > li.active > a {
  color: #fff !important;
  background: transparent !important;
  box-shadow: inset 0 -2px 0 #dcebf8 !important;
}
body.tsg-site .site-header .primary-navigation .nav-level:not(.nav-level-0) {
  background: #fff !important;
  color: #172b3c !important;
}
body.tsg-site .site-header .primary-navigation .nav-level:not(.nav-level-0) li > a,
body.tsg-site .site-header .primary-navigation .nav-level:not(.nav-level-0) li > .nav-label,
body.tsg-site .site-header .primary-navigation .nav-level:not(.nav-level-0) li > .submenu-toggle {
  color: #172b3c !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
body.tsg-site .site-header .primary-navigation .nav-level:not(.nav-level-0) li > a:hover,
body.tsg-site .site-header .primary-navigation .nav-level:not(.nav-level-0) li > a:focus-visible,
body.tsg-site .site-header .primary-navigation .nav-level:not(.nav-level-0) li.is-current > a {
  color: #172b3c !important;
  background: transparent !important;
  box-shadow: inset 0 -2px 0 #0f6bb4 !important;
}
@media (max-width: 1060px) {
  body.tsg-site .site-header .primary-navigation.nav-open { width: 100%; padding-bottom: 10px; }
  body.tsg-site .site-header .primary-navigation.nav-open .nav-level-0 { max-height: 75dvh; overflow-x: hidden; overflow-y: auto; }
  body.tsg-site .site-header .primary-navigation.nav-open .nav-level-0 > li { width: 100%; margin: 0; padding: 0; }
  body.tsg-site .site-header .primary-navigation.nav-open .nav-level-0 > li > a,
  body.tsg-site .site-header .primary-navigation.nav-open .nav-level-0 > li > .nav-label { padding: 12px 14px !important; line-height: 1.35; }
  body.tsg-site .site-header .primary-navigation.nav-open .nav-level-0 > li > .nav-level,
  body.tsg-site .site-header .primary-navigation.nav-open .nav-level-1 .nav-level-2,
  body.tsg-site .site-header .primary-navigation.nav-open .nav-level-2 .nav-level-3 {
    position: static !important; flex: 0 0 100%; width: 100% !important;
    margin: 3px 0 7px !important; padding: 7px 12px !important;
    background: #fff !important; border: 0 !important; border-radius: 4px !important;
    box-shadow: none !important;
  }
  body.tsg-site .site-header .primary-navigation.nav-open .nav-level:not(.nav-level-0) li { width: 100%; }
  body.tsg-site .site-header .primary-navigation.nav-open .nav-level:not(.nav-level-0) li > a,
  body.tsg-site .site-header .primary-navigation.nav-open .nav-level:not(.nav-level-0) li > .nav-label {
    padding: 10px 12px !important; white-space: normal !important;
  }
  body.tsg-site .site-header .nav-toggle { color: #fff !important; }
  body.tsg-site .site-header .nav-toggle span { background: #fff !important; border-color: #fff !important; }
}


/* FINAL: Hauptnavigation ohne Kacheln, nur Unterstreichung. */
body.tsg-site.is-home .site-header .primary-navigation .nav-level-0 > li,
body.tsg-site.is-inner .site-header .primary-navigation .nav-level-0 > li { background: transparent !important; }
body.tsg-site.is-home .site-header .primary-navigation .nav-level-0 > li > :is(a,.nav-label,.submenu-toggle),
body.tsg-site.is-inner .site-header .primary-navigation .nav-level-0 > li > :is(a,.nav-label,.submenu-toggle),
body.tsg-site.is-home .site-header .primary-navigation .nav-level-0 > li:is(.is-current,.active,.submenu-open,:hover,:focus-within) > :is(a,.nav-label,.submenu-toggle),
body.tsg-site.is-inner .site-header .primary-navigation .nav-level-0 > li:is(.is-current,.active,.submenu-open,:hover,:focus-within) > :is(a,.nav-label,.submenu-toggle) {
  color: #fff !important;
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
body.tsg-site .site-header .primary-navigation .nav-level-0 > li:is(.is-current,.active,:hover,:focus-within) > :is(a,.nav-label) {
  text-decoration: underline !important;
  text-decoration-color: #dcebf8 !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 9px !important;
}
body.tsg-site .site-header .primary-navigation .nav-level:not(.nav-level-0),
body.tsg-site .site-header .primary-navigation .nav-level:not(.nav-level-0) li { background-color: #fff !important; }
body.tsg-site .site-header .primary-navigation .nav-level:not(.nav-level-0) li > :is(a,.nav-label,.submenu-toggle),
body.tsg-site .site-header .primary-navigation .nav-level:not(.nav-level-0) li:is(:hover,.is-current,.active) > :is(a,.nav-label,.submenu-toggle) {
  color: #172b3c !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.tsg-site .site-header .primary-navigation .nav-level:not(.nav-level-0) li:is(:hover,.is-current,.active) > :is(a,.nav-label) {
  text-decoration: underline !important;
  text-decoration-color: #0f6bb4 !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 5px !important;
}


/* Wiederherstellung der FuPa-Kachel – nur Startseite, kein Einfluss auf Navigation */
body.tsg-site.is-home .tsg-next-games { margin: 0 0 3.5rem; }
body.tsg-site.is-home .tsg-next-games-link { display:flex;align-items:center;gap:1.25rem;padding:1.6rem 1.8rem;border:1px solid #c9d3de;border-radius:14px;background:#f5f9fc;color:#172b3c;text-decoration:none;transition:background-color .2s,border-color .2s; }
body.tsg-site.is-home .tsg-next-games-link:hover,body.tsg-site.is-home .tsg-next-games-link:focus-visible { background:#e7f3fc;border-color:#006bb4; }
body.tsg-site.is-home .tsg-next-games-icon {display:grid;place-items:center;width:60px;height:60px;flex:0 0 60px;border-radius:14px;background:#e2f1fb;color:#006bb4;font-size:2rem;}
body.tsg-site.is-home .tsg-next-games-copy {display:flex;flex-direction:column;gap:.25rem;min-width:0;}
body.tsg-site.is-home .tsg-next-games-copy small {color:#006bb4;font-weight:800;letter-spacing:.12em;}
body.tsg-site.is-home .tsg-next-games-copy strong {font-size:clamp(1.25rem,2vw,1.75rem);color:#082b4c;}
body.tsg-site.is-home .tsg-next-games-copy span {color:#5a7084;}
body.tsg-site.is-home .tsg-next-games-arrow {margin-left:auto;color:#006bb4;font-size:1.8rem;}
@media(max-width:600px){body.tsg-site.is-home .tsg-next-games-link{padding:1rem;gap:.75rem;}body.tsg-site.is-home .tsg-next-games-icon{width:44px;height:44px;flex-basis:44px;font-size:1.5rem;}}

/* TSG Salach – Logo-Schriftzug auf Startseite dauerhaft weiß */
body.tsg-site.is-home .site-header .brand,
body.tsg-site.is-home .site-header .brand:link,
body.tsg-site.is-home .site-header .brand:visited,
body.tsg-site.is-home .site-header .brand:hover,
body.tsg-site.is-home .site-header .brand:focus-visible,
body.tsg-site.is-home .site-header .brand .brand-copy strong {
  color: #ffffff !important;
}
body.tsg-site.is-home .site-header .brand .brand-copy small {
  color: #c5d2dc !important;
  opacity: 1;
}
