/* QoL */

html {
  scroll-behavior: smooth;
}

/* border color contrast hack */

.border-auto-dark-light {
  border: 1px solid;
  border-color: var(--bs-dark);
}

[data-bs-theme="dark"] .border-auto-dark-light {
  border-color: var(--bs-secondary);
}

@media print {
  .border-auto-dark-light {
    border-color: #000 !important;
    border-width: 1px !important;
  }
}

/* no spinner when printing */

@media print {
  input[type="number"] {
    -moz-appearance: textfield;
  }
  input[type="number"]::-webkit-inner-spin-button,
  input[type="number"]::-webkit-outer-spin-button {
    display: none;
  }
}

/* no placeholder when printing */

@media print {
  input::placeholder,
  textarea::placeholder {
    color: transparent !important;
    opacity: 0 !important;
  }
  
  /* browser-specific variants */

  input::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder {
    color: transparent !important;
  }
  
  input::-moz-placeholder,
  textarea::-moz-placeholder {
    opacity: 0 !important;
  }
  
  input:-ms-input-placeholder,
  textarea:-ms-input-placeholder {
    color: transparent !important;
  }
}


@media print {

  input,
  span.input-group-text,
  textarea {
    border-color: #000 !important;    
    border-style: solid !important;
    border-width: 1px !important;
  }

  /* Entferne evtl. unnötige Margins für Papier */

  body {
    margin: 0;
  }

}

/* range slider color */

.custom-range::-webkit-slider-thumb {
  background-color: var(--bs-secondary);
}

.custom-range::-moz-range-thumb {
  background-color: var(--bs-secondary);
}


/* accordion color */
/*
.accordion {
  --bs-accordion-btn-bg: var(--bs-secondary-bg);
  --bs-accordion-btn-color: var(--bs-secondary);
  --bs-accordion-active-bg: var(--bs-secondary-bg-subtle);
  --bs-accordion-active-color: var(--bs-secondary-text-emphasis);
  --bs-accordion-border-color: var(--bs-dark-border-subtle);
}
*/

.accordion {
      /* Grundfarben an Secondary anlehnen */
      --bs-accordion-bg: var(--bs-secondary-bg-subtle);
      --bs-accordion-color: var(--bs-secondary-text-emphasis);

      /* Button (Header) */
      --bs-accordion-btn-bg: var(--bs-secondary-bg-subtle);
      --bs-accordion-btn-color: var(--bs-secondary-text-emphasis);

      /* Aktiver/aufgeklappter Zustand nutzt ebenfalls Secondary-Palette */
      --bs-accordion-active-bg: var(--bs-secondary-bg-subtle);
      --bs-accordion-active-color: var(--bs-secondary-text-emphasis);

      /* Rahmenfarben dezent halten */
      --bs-accordion-border-color: var(--bs-secondary-border-subtle);
      --bs-accordion-border-width: 1px;
      --bs-accordion-border-radius: 0.5rem;
      --bs-accordion-inner-border-radius: 0.5rem;

      /* Body-Abstände */
      --bs-accordion-body-padding-x: 1.25rem;
      --bs-accordion-body-padding-y: 1rem;

      /* Fokus-Styles in Secondary-Farben */
      --bs-accordion-btn-focus-border-color: var(--bs-secondary);
      --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.35);

      /* Icon-Farben richten sich nach Secondary */
      --bs-accordion-btn-icon-color: var(--bs-secondary);
      --bs-accordion-btn-active-icon-color: var(--bs-secondary);
    }

    .accordion .accordion-item {
      margin-bottom: 0.75rem;
      border-radius: 0.5rem;
      overflow: hidden;
    }

    .accordion .accordion-button {
      font-weight: 500;
    }

    .accordion .accordion-button:not(.collapsed) {
      box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);
    }

    /* Optional: eigene Plus/Minus-Icons in Secondary-Farbe */
    .accordion .accordion-button::after {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' \
viewBox='0 0 16 16' fill='%236c757d'%3E%3Cpath d='M8 1a.5.5 0 0 1 .5.5v6h6a.5.5 0 0 1 0 1h-6v6a.5.5 0 0 1-1 0v-6h-6a.5.5 0 0 1 0-1h6v-6A.5.5 0 0 1 8 1z'/%3E%3C/svg%3E");
    }

    .accordion .accordion-button:not(.collapsed)::after {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' \
viewBox='0 0 16 16' fill='%236c757d'%3E%3Cpath d='M2 7.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 7.5z'/%3E%3C/svg%3E");
    }
