/* Basis: ruhige, moderne Typo + warmes Farbschema.
   Passen Sie Farben/Schrift nach Corporate Identity von aibwohnen.de an. */

/* Farbvariablen (ggf. feintunen) */
:root{
  --brand-bg:#f7f5f2;
  --brand-primary:#ff3b59;
  --brand-primary-hover:#e53551;
  --brand-accent:#c9a36a;
  --brand-text:#2d2d2d;
  --brand-muted:#6b6b6b;
  --brand-border:#e5e1d8;         /* zurück: dezente beige Umrandung (passiv) */
  --brand-border-active:#5f5f5f;  /* neu: dezentes Grau für markierte Umrandung */
  --brand-success:#3a7d44;
  --brand-info:#2f4a73;
  --brand-danger:#b23b3b;
}

/* Grundlayout */
html, body {
  background-color:var(--brand-bg);
  color:var(--brand-text);
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.container, .container-fluid {
  max-width: 980px;
}

/* Logo */
.brand-logo {
  max-width:260px;
  height:auto;
  display:block;
}
.brand-logo-wrapper {
  margin-bottom:1.75rem;
  text-align:center;
}
@media(min-width:768px) {
  .brand-logo-wrapper {
    text-align:left;
  }
}

/* Überschriften */
h1, h2, h3, h4, .h1, .h2, .h3, .h4 {
  color:var(--brand-primary);
  font-weight:600;
  letter-spacing:.2px;
}

/* Links */
a {
  color:var(--brand-primary);
  text-decoration:none;
}
a:hover {
  color:var(--brand-primary-hover);
  text-decoration:underline;
}

/* Buttons */
.btn {
  border-radius:10px;
}
.btn-primary {
  background-color:var(--brand-primary);
  border-color:var(--brand-primary);
}
.btn-primary:hover, .btn-primary:focus {
  background-color:var(--brand-primary-hover);
  border-color:var(--brand-primary-hover);
}
.btn-outline-secondary {
  color:var(--brand-primary);
  border-color:var(--brand-border);
  background-color:#fff;
}
.btn-outline-secondary:hover {
  color:#fff;
  background-color:var(--brand-primary);
  border-color:var(--brand-primary);
}
.btn-success {
  background-color:var(--brand-success);
  border-color:var(--brand-success);
}
.btn-success:hover {
  background-color:#2f6337;
  border-color:#2f6337;
}

/* Nav-Pills (Schritte) */
.nav-pills .nav-link {
  border:1px solid var(--brand-border);
  color:var(--brand-text);
  background-color:#fff;
  margin-right:6px;
  border-radius:999px;
}
.nav-pills .nav-link.active {
  border-color:var(--brand-border-active);
  background-color:var(--brand-primary);
  color:#fff;
}

/* Karten */
.card {
  border:1px solid var(--brand-border);
  border-radius:12px;
  box-shadow:0 1px 6px rgba(0,0,0,0.05);
}
.card-header {
  color:var(--brand-primary);
  font-weight:600;
}

/* Formularfelder */
.form-label {
  font-weight:500;
  color:var(--brand-text);
}
.form-text {
  color:var(--brand-muted);
}
.form-control, .form-select, textarea {
  border-radius:10px;
  border-color:var(--brand-border);
  background-color:#fff;
}
.form-control:focus, .form-select:focus, textarea:focus {
  border-color:var(--brand-border-active);
  box-shadow:0 0 0 .2rem rgba(95,95,95,.15);
}
.input-group .btn {
  border-radius:10px;
}

/* Badges */
.badge.text-bg-secondary {
  background-color:var(--brand-accent) !important;
}

/* Alerts harmonisieren */
.alert {
  border-radius:12px;
  border:1px solid var(--brand-border);
}
.alert-danger {
  background-color:#f9e9e9;
  color:var(--brand-danger);
}
.alert-success {
  background-color:#e9f5ec;
  color:var(--brand-success);
}
.alert-info {
  background-color:#eef3fb;
  color:var(--brand-info);
}
.alert-secondary {
  background-color:#f2efe9;
  color:#4c4c4c;
}

/* Accordion (Gäste) */
.accordion-item {
  border:1px solid var(--brand-border);
  border-radius:12px;
  overflow:hidden;
}
.accordion-button {
  background-color:#5f5f5f; /* markierter Header */
  color:#fff;
  border-radius:10px !important;
}
.accordion-button:not(.collapsed) {
  background-color:#5f5f5f;
  color:#fff;
}
.accordion-button::after { filter: invert(1); } /* Caret heller */

/* Step-Container */
.step {
  background-color:#fff;
  border:1px solid var(--brand-border);
  border-radius:12px;
  padding:18px;
  margin-bottom:16px;
}

/* Tabellen Review */
.table-striped>tbody>tr:nth-of-type(odd) {
  --bs-table-bg:#fbfaf8;
}

/* Kleinigkeiten */
#wizardSteps {
  font-size:.95rem;
}
#ArrivalDetailsCount {
  color:var(--brand-muted);
}

/* Passiv wie vorher */
.card,
.step,
.accordion-item,
.nav-pills .nav-link,
.alert,
.form-control,
.form-select,
textarea{
  border-color:var(--brand-border);
}