/* Custom Design Overrides */
body {
  background-image: none !important;
  background-color: #ffffffff !important;
  min-height: 100vh;
}

.form-container {
  background-color: #ffffffff !important;
  background-image: none !important;
}

.club-logo {
  background-color: #ffffffff !important;
  background-image: none !important;
}

.form-container {
  border-radius: 20px !important;
}

.club-logo {
  border-radius: 20px !important;
}

.form-container {
  box-shadow: none !important;
}

.club-logo {
  box-shadow: none !important;
}

.form-page-wrapper {
  padding-top: 10px !important;
}

/* Custom Text Color */
.form-container,
.form-container p,
.form-container div,
.form-container .col-form-label,
.form-container label,
.form-container .custom-header .title,
.form-container .form-check-label,
.form-title h1,
.form-title p,
.form-text,
.text-muted,
small.text-muted {
  color: #000000ff !important;
}

.form-floating > label,
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select:focus ~ label,
.form-floating > .form-select:not([value=""]) ~ label {
  color: #000000ff !important;
}


/* Additional Custom CSS */
/* Vereinsantrag: Farben an PWV Winnweiler anpassen */
:root {
  --pwv-primary: #089901;
  --pwv-primary-dark: #067a01;
  --pwv-text: #1f4a38;
  --pwv-tertiary: #cbeccb;
  --pwv-focus: rgba(8, 153, 1, 0.25);
  --bs-primary: #089901;
  --bs-primary-rgb: 8, 153, 1;
  --bs-link-color: #089901;
  --bs-link-hover-color: #067a01;
}

body {
  color: var(--pwv-text);
}

/* Oberen Innenabstand im eingebetteten Formular reduzieren */
.form-container {
  margin-top: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  border: 1px solid rgba(31, 74, 56, 0.22) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

/* Mehr Innenabstand zwischen Formularinhalt und Rahmen */
.form-header-default,
#smartwizard {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

@media (max-width: 576px) {
  .form-container {
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
  }

  .form-header-default,
  #smartwizard {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .col-12.col-md-10:has(input[name="Model.Gender"]) {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0.35rem !important;
  }

  .col-12.col-md-10:has(input[name="Model.Gender"]) .btn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.25rem !important;
  }
}

/* Unten mehr Luft zwischen Button und Rahmen */
.tab-pane {
  padding-bottom: 0 !important;
}

@media (max-width: 576px) {
  .tab-pane {
    padding-bottom: 0 !important;
  }
}

.tab-pane > .mt-4.d-flex.justify-content-end:last-child,
.tab-pane > .d-flex.justify-content-end:last-child {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}

.tab-pane .btn-primary:last-child {
  margin-bottom: 0 !important;
}

/* Buttons und Links */
.btn-primary,
.btn-primary:disabled,
.btn-primary.disabled {
  background-color: var(--pwv-primary) !important;
  border-color: var(--pwv-primary) !important;
  color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
  background-color: var(--pwv-primary-dark) !important;
  border-color: var(--pwv-primary-dark) !important;
  color: #ffffff !important;
}

.btn-primary:focus,
.btn-primary:active:focus {
  box-shadow: 0 0 0 0.2rem var(--pwv-focus) !important;
}

.btn-link,
.nav-link {
  color: var(--pwv-primary) !important;
}

.btn-link:hover,
.btn-link:focus,
.nav-link:hover,
.nav-link:focus {
  color: var(--pwv-primary-dark) !important;
}

/* Fortschrittsanzeige / Wizard-Dots */
.sw-theme-dots > .nav .nav-link,
.sw-theme-dots > .nav .nav-link .num {
  color: var(--pwv-primary) !important;
  border-color: var(--pwv-primary) !important;
}

.sw-theme-dots > .nav .nav-link.active,
.sw-theme-dots > .nav .nav-link.done,
.sw-theme-dots > .nav .nav-link.default {
  color: var(--pwv-primary) !important;
  border-color: var(--pwv-primary) !important;
}

.sw-theme-dots > .nav .nav-link::after,
.sw-theme-dots > .nav .nav-link.active::after,
.sw-theme-dots > .nav .nav-link.done::after {
  background-color: var(--pwv-primary) !important;
  border-color: var(--pwv-primary) !important;
}

.sw-theme-dots > .nav .nav-link.inactive::after,
.sw-theme-dots > .nav .nav-link.disabled::after {
  background-color: #e9ecef !important;
  border-color: #e9ecef !important;
}

.sw-theme-dots > .nav .nav-link.default .num,
.sw-theme-dots > .nav .nav-link.default .num *,
.sw-theme-dots > .nav .nav-link.default .num img {
  color: #ffffff !important;
  border-color: #ffffff !important;
}

.sw-theme-dots > .nav .nav-link.default .num img {
  filter: none !important;
}

.btn-link img[src*="award.svg"] {
  filter: brightness(0) saturate(1) invert(38%) sepia(82%) saturate(1848%) hue-rotate(91deg) brightness(86%) contrast(101%) !important;
}

/* Kleine farbige Quadrate vor Abschnittsueberschriften */
.custom-header .square,
.square {
  background-color: var(--pwv-primary) !important;
}

.custom-header {
  border-bottom-color: var(--pwv-primary) !important;
  border-left-color: var(--pwv-primary) !important;
  box-shadow: none !important;
}

.custom-header::after {
  background-color: var(--pwv-primary) !important;
}

.custom-header::before {
  background-color: var(--pwv-primary) !important;
  border-color: var(--pwv-primary) !important;
}

.custom-header,
.custom-header .title {
  border-color: var(--pwv-primary) !important;
}

.custom-header > * {
  border-color: var(--pwv-primary) !important;
}

.custom-header .title,
.form-title,
h1,
h2,
h3,
h4 {
  color: var(--pwv-text) !important;
}

/* Formularfelder im Fokus */
.form-control:focus,
.form-select:focus {
  border-color: var(--pwv-primary) !important;
  box-shadow: 0 0 0 0.2rem var(--pwv-focus) !important;
}

/* Autocomplete-/Dropdown-Vorschlaege neutral halten */
.dropdown-menu,
.dropdown-item,
.dropdown-item:hover,
.dropdown-item:focus {
  color: #212529 !important;
}

.dropdown-item.active,
.dropdown-item:active {
  background-color: var(--pwv-tertiary) !important;
  color: var(--pwv-text) !important;
}

/* Auswahlfelder / Radio-Button-Gruppen */
.form-check-input:checked {
  background-color: var(--pwv-primary) !important;
  border-color: var(--pwv-primary) !important;
}

.form-check-input:focus {
  border-color: var(--pwv-primary) !important;
  box-shadow: 0 0 0 0.2rem var(--pwv-focus) !important;
}

.btn-check:checked + .btn-outline-secondary,
.btn-outline-secondary:has(input[type="radio"]:checked),
.btn-outline-secondary:has(input[type="checkbox"]:checked),
.btn-outline-secondary.active,
.btn-outline-secondary:active {
  background-color: var(--pwv-primary) !important;
  border-color: var(--pwv-primary) !important;
  color: #ffffff !important;
}

.btn-outline-secondary:hover {
  border-color: var(--pwv-primary) !important;
  color: var(--pwv-primary-dark) !important;
}

.btn-outline-secondary:focus,
.btn-outline-secondary:active:focus {
  box-shadow: 0 0 0 0.2rem var(--pwv-focus) !important;
}

/* Anrede-Buttons neutral halten; nur der Radio-Punkt selbst zeigt die Auswahl */
.col-12.col-md-10:has(input[name="Model.Gender"]) .btn-outline-secondary:has(input[type="radio"]:checked),
.col-12.col-md-10:has(input[name="Model.Gender"]) .btn-outline-secondary.active,
.col-12.col-md-10:has(input[name="Model.Gender"]) .btn-outline-secondary:active {
  background-color: #ffffff !important;
  border-color: #dee2e6 !important;
  color: #212529 !important;
}

.col-12.col-md-10:has(input[name="Model.Gender"]) .btn-outline-secondary:hover,
.col-12.col-md-10:has(input[name="Model.Gender"]) .btn-outline-secondary:focus {
  border-color: #adb5bd !important;
  color: #212529 !important;
}

/* Zusammenfassungskarten in spaeteren Formularschritten */
.summary-card {
  border-color: rgba(31, 74, 56, 0.18) !important;
}

.summary-card-header {
  background-color: rgba(203, 236, 203, 0.45) !important;
  border-bottom-color: rgba(31, 74, 56, 0.18) !important;
}

.summary-custom-fields {
  border-top-color: rgba(31, 74, 56, 0.18) !important;
}

.summary-card-icon,
.summary-inline-icon {
  filter: brightness(0) saturate(1) invert(31%) sepia(20%) saturate(837%) hue-rotate(99deg) brightness(91%) contrast(86%) !important;
}

/* Links in Checkbox-Hinweisen, ohne Autocomplete global zu faerben */
.form-check-label a {
  color: var(--pwv-primary) !important;
}

.form-check-label a:hover,
.form-check-label a:focus {
  color: var(--pwv-primary-dark) !important;
}

/* Datums-/Icon-Buttons */
.cdp-button {
  border-color: var(--pwv-primary) !important;
  color: var(--pwv-primary) !important;
}

.cdp-button:hover,
.cdp-button:focus {
  background-color: var(--pwv-tertiary) !important;
  border-color: var(--pwv-primary) !important;
  color: var(--pwv-primary-dark) !important;
}
