/* Theme: 3-Städte-Rallye 2026 (Gold/Schwarz), angelehnt an https://3-staedte-rallye.de/ */

:root {
  --sr-gold: #ffcc07;
  --sr-black: #1d1d1b;
  --sr-gray: #333333;
}

body {
  background-color: #fafafa;
}

.flex-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.brand-header {
  background-color: var(--sr-black);
  color: #fff;
  border-bottom: 6px solid var(--sr-gold);
}
.brand-header h1 {
  color: #fff;
  margin-bottom: 0;
}
.brand-subtitle {
  color: var(--sr-gold);
  margin: 0;
  font-weight: bold;
  letter-spacing: .02em;
}
.brand-logo {
  max-height: 70px;
  width: auto;
}

.top-bar,
.top-bar ul {
  background-color: var(--sr-black);
}
.top-bar a {
  color: var(--sr-gold);
}
.top-bar a:hover {
  color: #fff;
}
.top-bar .menu-text {
  color: #fff;
}

h1, h2, h3, h4, h5 {
  color: var(--sr-black);
}

a {
  color: #a37c00;
}
a:hover {
  color: var(--sr-black);
}

.button, .btn, button[type="submit"] {
  background-color: var(--sr-gold);
  color: var(--sr-black);
  font-weight: bold;
  border: none;
}
.button:hover, .btn:hover, button[type="submit"]:hover {
  background-color: var(--sr-black);
  color: var(--sr-gold);
}

.vertical.menu li a {
  border-left: 4px solid var(--sr-gold);
  padding-left: 10px;
  display: block;
}
.vertical.menu li a:hover {
  background-color: #fff7d6;
}

.callout.gold {
  background-color: var(--sr-gold);
  color: var(--sr-black);
}

footer {
  width: 100%;
  height: auto;
  background-color: var(--sr-gold);
  color: var(--sr-black);
  padding: 10px 0;
}

/* Login */
.login-body {
  background-color: var(--sr-black);
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.login-box {
  background: #fff;
  border-radius: 6px;
  padding: 2.5rem;
  max-width: 340px;
  width: 90%;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0,0,0,.4);
}
.login-logo {
  max-width: 220px;
  margin-bottom: 1rem;
}
.login-box input[type="password"] {
  text-align: center;
  font-size: 1.2rem;
  letter-spacing: .2em;
}
.login-error {
  color: #c0392b;
  font-weight: bold;
}

/* Einsatzplan-Tabellen */
.table-scroll {
  overflow-x: auto;
  margin-bottom: 1rem;
}
.nowrap {
  white-space: nowrap;
}

/* Stationssteckbrief-Bilder (tag1.php/tag2.php) */
.steckbrief {
  margin-bottom: 1.75rem;
}
.steckbrief h4 {
  margin-bottom: .4rem;
}
.steckbrief img {
  max-width: 100%;
  height: auto;
  display: block;
  border: 1px solid #ddd;
  border-radius: 4px;
}
.row-note-text {
  text-align: center;
  font-style: italic;
  color: #666;
  margin: 1.5rem 0;
}

/* Team-/Zuteilungstabelle (adressen.php), Name-Spalte bleibt beim seitlichen Scrollen stehen */
table.roster {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
}
table.roster th,
table.roster td {
  border: 1px solid #ddd;
  padding: 8px 10px;
  vertical-align: top;
  text-align: left;
}
table.roster th {
  background-color: var(--sr-black);
  color: var(--sr-gold);
}
table.roster th:first-child,
table.roster td:first-child {
  position: sticky;
  left: 0;
  background-color: #fff;
  box-shadow: 2px 0 4px rgba(0, 0, 0, .15);
}
table.roster th:first-child {
  background-color: var(--sr-black);
  color: var(--sr-gold);
  z-index: 2;
}
table.roster td:first-child {
  z-index: 1;
}
