/* UAT-006/UAT-007/UX-002B: high-contrast treatment for all Gavelum status surfaces. */

/*
 * Bootstrap alert colors are designed for a light page and can become unreadable
 * after the Gavelum dark-theme overrides are applied.  Do not rely on Bootstrap's
 * inherited alert foreground variables here.  Every alert variant gets an explicit
 * dark surface and readable foreground, including nested headings, links and muted
 * helper text.
 */
.alert {
    color: #f5f0e6 !important;
    border-color: rgba(217, 190, 126, 0.34) !important;
    background: #171b18 !important;
}

.alert strong,
.alert h1,
.alert h2,
.alert h3,
.alert h4,
.alert h5,
.alert h6,
.alert p,
.alert li,
.alert label,
.alert span:not(.badge),
.alert div {
    color: inherit !important;
}

.alert .small,
.alert small,
.alert .text-secondary,
.alert .text-muted {
    color: #d6d0c4 !important;
}

.alert a:not(.btn),
.alert .alert-link {
    color: #f4d88f !important;
    text-decoration-color: currentColor;
}

.alert a:not(.btn):hover,
.alert .alert-link:hover,
.alert a:not(.btn):focus,
.alert .alert-link:focus {
    color: #fff3c4 !important;
}

.alert-primary,
.alert-info {
    border-left: 3px solid #8fc6c7 !important;
    background: #132021 !important;
}

.alert-secondary,
.alert-light,
.alert-dark {
    border-left: 3px solid #b9b1a2 !important;
    background: #171b18 !important;
}

.alert-success {
    border-left: 3px solid #84c29c !important;
    background: #132019 !important;
}

.alert-warning {
    border-left: 3px solid #d9be7e !important;
    background: #241f14 !important;
}

.alert-danger {
    border-left: 3px solid #dd9181 !important;
    background: #271714 !important;
}

.gavelum-account-banner,
.gavelum-admin-callout {
    color: #f5f0e6 !important;
    border-color: rgba(217, 190, 126, 0.42) !important;
    border-left-color: #d9be7e !important;
    background: #171b18 !important;
}

.gavelum-account-banner strong,
.gavelum-account-banner span,
.gavelum-admin-callout strong,
.gavelum-admin-callout span {
    color: inherit !important;
}

.gavelum-account-banner small,
.gavelum-account-banner .small,
.gavelum-account-banner .text-secondary,
.gavelum-admin-callout small,
.gavelum-admin-callout .small,
.gavelum-admin-callout .text-secondary {
    color: #d6d0c4 !important;
}

.gavelum-account-banner.alert-warning,
.gavelum-admin-callout.alert-warning {
    border-left-color: #d9be7e !important;
    background: #241f14 !important;
}

.gavelum-account-banner.alert-info {
    border-left-color: #8fc6c7 !important;
    background: #132021 !important;
}

.gavelum-account-banner .btn-outline-dark,
.gavelum-account-banner .btn-outline-dark:focus {
    color: #f5f0e6 !important;
    border-color: rgba(238, 233, 223, 0.52) !important;
    background: transparent !important;
}

.gavelum-account-banner .btn-outline-dark:hover {
    color: #0b0d0c !important;
    border-color: #f5f0e6 !important;
    background: #f5f0e6 !important;
}

/* Form validation must remain legible on dark panels even outside an alert. */
.invalid-feedback,
.text-danger,
.form-error,
.errorlist,
.errorlist li {
    color: #f0a79a !important;
}

.form-text,
.helptext {
    color: #cbc4b8 !important;
}

@media (max-width: 560px) {
    .gavelum-account-banner,
    .gavelum-admin-callout {
        padding: 1rem;
    }
}

/* GAV-031C: disclosures must remain readable inside the global dark theme. */
.gavelum-disclosure.alert-info,
.gavelum-disclosure.alert-warning,
.gavelum-disclosure-card {
    color: #f5f0e6 !important;
    border-color: rgba(217, 190, 126, 0.42) !important;
    border-left-color: #d9be7e !important;
    background: #171b18 !important;
}

.gavelum-disclosure strong,
.gavelum-disclosure h2,
.gavelum-disclosure h3,
.gavelum-disclosure p,
.gavelum-disclosure li,
.gavelum-disclosure-card strong,
.gavelum-disclosure-card h2,
.gavelum-disclosure-card h3,
.gavelum-disclosure-card p,
.gavelum-disclosure-card li {
    color: #f5f0e6 !important;
}

.gavelum-disclosure .bg-white {
    color: #f5f0e6 !important;
    border-color: rgba(217, 190, 126, 0.35) !important;
    background: #0f1210 !important;
}

/* GAV-033: explicit, accessible seller route choices. */
.gavelum-route-options {
    display: grid;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    border: 0;
}

.gavelum-route-card {
    display: grid;
    grid-template-columns: 1.25rem 1fr;
    gap: 0.75rem;
    align-items: start;
    padding: 1rem;
    border: 1px solid rgba(217, 190, 126, 0.32);
    border-radius: 0.25rem;
    background: #111512;
    cursor: pointer;
}

.gavelum-route-card:hover,
.gavelum-route-card:focus-within,
.gavelum-route-card.is-selected {
    border-color: #d9be7e;
    background: #181b18;
}

.gavelum-route-control input[type="radio"] {
    width: 1rem;
    height: 1rem;
    margin: 0.2rem 0 0;
    accent-color: #d9be7e;
}

.gavelum-custody-example {
    color: #f5f0e6;
    border-color: rgba(217, 190, 126, 0.35) !important;
    background: #0f1210;
}
