:root {
  --hz-rose: #b5667a;
  --hz-rose-dark: #8f4a5c;
  --hz-gold: #c9a05c;
  --hz-cream: #fbf6f1;
}

body {
  background-color: var(--hz-cream);
}

.bg-hz-rose { background-color: var(--hz-rose) !important; }
.bg-hz-gold { background-color: var(--hz-gold) !important; }

.btn-hz-rose {
  background-color: var(--hz-rose);
  border-color: var(--hz-rose);
  color: #fff;
}
.btn-hz-rose:hover {
  background-color: var(--hz-rose-dark);
  border-color: var(--hz-rose-dark);
  color: #fff;
}

.btn-hz-gold {
  background-color: var(--hz-gold);
  border-color: var(--hz-gold);
  color: #fff;
}
.btn-hz-gold:hover {
  background-color: #ad864a;
  border-color: #ad864a;
  color: #fff;
}

.navbar-brand i { color: var(--hz-gold); }

.table tr.inaktiv {
  opacity: .55;
}

a.tidal-link {
  color: var(--hz-rose-dark);
  text-decoration: none;
}
a.tidal-link:hover {
  text-decoration: underline;
}

.site-footer {
  text-align: center;
  padding: .6rem 1rem;
  font-size: .8rem;
  color: #777;
  border-top: 1px solid #e6dcd2;
}
.site-footer a { color: var(--hz-rose-dark); text-decoration: none; font-weight: 600; }
.site-footer a:hover { text-decoration: underline; }

body { display: flex; flex-direction: column; min-height: 100vh; }
main.container { flex: 1; }

/* ── Splash ───────────────────────────────── */
#splash-overlay {
  position: fixed; inset: 0; z-index: 10000;
  display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  background: rgba(0, 0, 0, .15);
  opacity: 0; transition: opacity .6s ease; pointer-events: none;
}
#splash-overlay.visible { opacity: 1; pointer-events: auto; }
#splash-card {
  width: min(80%, 480px); min-height: 30vh;
  background: rgb(181 102 122 / 0.55);
  border: 4px solid #000; border-radius: 18px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .45);
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: .5rem;
  padding: 1.6rem 2rem 1.2rem;
  text-align: center; user-select: none; color: #fff;
}
#splash-card h2   { font-size: 1.6rem; font-weight: 700; margin: .3rem 0 0; }
#splash-card .ver { font-size: .8rem; opacity: .85; margin: 0; }
#splash-card .hint { font-size: .72rem; opacity: .7; margin-top: .4rem; }

/* ── Beschreibung: einzeilig mit "...", Klick klappt auf (Akkordion) ── */
.beschreibung-zelle {
  cursor: pointer;
  max-width: 280px;
}
.beschreibung-zelle .zeile-kurz {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.beschreibung-zelle .zeile-voll {
  display: none;
  white-space: normal;
}
.beschreibung-zelle.expanded {
  max-width: none;
}
.beschreibung-zelle.expanded .zeile-kurz { display: none; }
.beschreibung-zelle.expanded .zeile-voll { display: block; }

/* ── Tabellen-Suche & Sortierung ───────────────────────────── */
.hz-highlight { animation: hzFlash 1.5s ease; }
@keyframes hzFlash {
  0%, 100% { background-color: transparent; }
  20%      { background-color: rgb(181 102 122 / 0.25); }
}
.table-sortable thead th:not(.no-sort):hover { background-color: rgba(0,0,0,.04); }
