:root {
  /* Hauptmarke */
  --brand-main: #d50032;
  /* Tints (ca. 10–20% heller) */
  --brand-main-90: #d91946;
  --brand-main-85: #db2650;
  --brand-main-80: #dd335b;

  --brand-bg: #fff5f8;
  --brand-card: #ffffff;
  --brand-dark: #3a0512;
}

/* Grundlayout */

body {
  font-family: "Jost", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
               sans-serif;
  background: radial-gradient(circle at top left,
              #ffe5ec 0,
              var(--brand-bg) 40%,
              #f7f7f7 100%);
  min-height: 100vh;
}

/* Navbar */

.navbar-kirche {
  background: linear-gradient(135deg, var(--brand-main), var(--brand-main-90));
}

.navbar-brand {
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Cards */

.card-kirche {
  background-color: var(--brand-card);
  border: none;
  border-radius: 1rem;
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.08),
    0 0 0 1px rgba(255, 255, 255, 0.7);
}

/* Buttons */

.btn-kirche {
  background: linear-gradient(135deg, var(--brand-main), var(--brand-main-85));
  border: none;
  color: #fff;
  font-weight: 500;
  border-radius: 999px;
}

.btn-kirche:hover {
  background: linear-gradient(135deg, var(--brand-main-90), var(--brand-main-80));
  color: #fff;
}

.btn-outline-secondary {
  border-radius: 999px;
}

/* Badges */

.badge-kirche-danger {
  background-color: var(--brand-main);
}

.badge-kirche-soft {
  background-color: var(--brand-main-80);
  color: var(--brand-dark);
}

/* Typografie */

.page-header-text {
  color: var(--brand-dark);
}

.form-label {
  font-weight: 500;
  color: var(--brand-dark);
}

/* Formulare */

.form-control,
.form-select {
  border-radius: 0.6rem;
  border-color: #f0c4d0;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--brand-main);
  box-shadow: 0 0 0 0.15rem rgba(213, 0, 50, 0.25);
}

/* Tabellen */

.table-kirche thead {
  background-color: #ffe0eb;
}

.table-kirche th {
  border-bottom: none;
  font-weight: 600;
  color: var(--brand-dark);
}

.table-kirche td {
  vertical-align: middle;
}

/* Footer */

footer {
  color: #aa1660;
  font-size: 0.85rem;
}