body{
    letter-spacing: 0.2px;
}

a {
    color: var(--bw-color-foreground-primary);
    text-decoration: none;
}

.card{
    margin: 0 0.5rem 0.5rem 0;
    font-size: 0.9rem;
}


/* overwrite styling of badges and icons in card headers */
.card-header .badge-light{
    background-color: var(--bw-color-background-accent);
    vertical-align: text-bottom;
    color: var(--bw-color-foreground-primary)
}

/* overwrite additional icon for card headings */
.card-header  i.text-primary{
    font-size: 75%; /* similar to badge size */
    color: var(--bw-color-foreground-primary) !important;
}


/* Reusable styles for collapsible card headers with chevron */
.collapsible-toggle { cursor: pointer; user-select: none; display: flex; align-items: center; }
.collapsible-toggle .collapsible-chevron { transition: transform .2s ease-in-out; }
.collapsible-toggle.collapsed .collapsible-chevron { transform: rotate(-90deg); }

/* accounts for the sticky header so that scrolling to anchors works as expected */
html {
    scroll-padding-top: calc(3.3rem + 1px); /* Header height, typical value for bootstrap */
}

.sticky-below-header {
  position: sticky;
  top: calc(3.3rem + 1px); /* same as scroll-padding-top */
  z-index: 1010;           /* below navbar (Bootstrap uses 1020 for sticky-top) */
  background: var(--bs-body-bg, #fff); /* ensure content doesn’t show through */
}

.truncated-p:not(label:has(input:checked) + .truncated-p) {
     /* collapse text to a single line and shorten it if checkbox to "show more" is not checked */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.truncated-p { /* show line breaks from input if expanded */
    white-space: pre-wrap;
}

.table-fixed {
    table-layout: fixed;
}

.border-error:not(:is(.interactive-table-container td)) {
  border: 2px solid #85100C !important;
}

.submission-deadline-warning {
  background: #ff0000;
  color: #fff
}

.submission-deadline-info {
  background: #DAB1DA;
}

.accordion {
    --bs-accordion-active-bg: #F4F3F1;
    --bs-accordion-active-color: #000;
    --bs-accordion-btn-focus-box-shadow: None;
}

.accordion > .accordion-item {
    border-top: 1px solid var(--bw-border-emphasis);
    border-radius: 0;
    border-right: none;
    border-left: none;
    font-size: 1rem;
}

.accordion > .accordion-item:hover {
    box-shadow: none;
}

.accordion > .accordion-item:first-child {
    border-radius: 0;
    border-top: 1px solid var(--bw-border-emphasis);
}

.accordion > .accordion-item:last-child {
    border-radius: 0;
    border-bottom: 1px solid var(--bw-border-emphasis);
}

.accordion-header > .accordion-button {
    font-size: 1rem;
    font-weight: bold;
}

.accordion-body > h4 {
    font-weight: bold;
}

