/*
 * WHY: App-specific overrides layered after DTCC style.css/icons.css.
 * Keeps the org-wide DTCC bundle intact for future updates.
 */

/* Fixed navbar clearance */
.spacer-top {
    margin-top: 140px;
}

.spacer {
    margin-top: 20px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    position: relative;
}

/* Required field markers (legacy .red class used across form templates) */
.red {
    color: var(--bs-danger, #dc3545);
}

/*
 * WHY: Bootstrap sets heading color via --bs-heading-color; parent .text-white
 * does not cascade to h1–h6, so card titles on bg-primary fail WCAG contrast.
 */
.card-header.bg-primary :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    color: #fff;
}

/* Form layout spacing and field widths */
.row {
    margin-bottom: 10px;
}

input,
select {
    max-width: 245px;
}

textarea {
    max-width: 590px;
}

/* IT Support Center navbar branding */
.navbar-brand img {
    max-height: 48px;
    width: auto;
}

/* IT logo on dark authenticated navbar (add class when needed) */
.navbar-brand img.filter-white {
    filter: brightness(0) invert(1);
}

html {
    scroll-behavior: smooth;
}

#app-body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main#main {
    flex: 1 0 auto;
}

/* ORA request form: stack labels above fields on narrow screens */
@media (max-width: 768px) {
    .ora-form .text-start,
    .assistive-form .text-start,
    .dev-data-form .text-start {
        text-align: left !important;
    }
}

/* Legacy fluid forms (banner, cms): stack labels above fields on narrow screens */
@media (max-width: 902px) {
    .legacy-form .text-end {
        text-align: left !important;
    }
}
