/* banner.css — pattern: persistent in-app banner.
   Differs from .biq-alert by being a horizontal strip with an explicit
   call-to-action button.  Used at the top of authenticated pages for
   blocking notices ("verify your email") that the user must address.
   See FSE_UI.md → Banner. */

.biq-banner {
    display: flex;
    align-items: flex-start;
    gap: var(--biq-space-3);
    padding: var(--biq-space-3) var(--biq-space-4);
    border-radius: var(--biq-radius-md);
    border: 1px solid var(--biq-color-rule);
    background: var(--biq-color-surface-raised);
}

.biq-banner__body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--biq-space-1);
}

.biq-banner__title {
    font-size: var(--biq-fs-sm);
    font-weight: var(--biq-fw-semibold);
    color: var(--biq-color-text-primary);
    margin: 0;
}

.biq-banner__message {
    font-size: var(--biq-fs-sm);
    color: var(--biq-color-text-secondary);
    margin: 0;
    line-height: var(--biq-lh-normal);
}

.biq-banner__actions {
    flex: 0 0 auto;
    display: flex;
    gap: var(--biq-space-2);
    align-items: center;
}

/* — Variants — encode the data-state.  Reserved for verification
   ("warning"), informational ("info"), and successful state ("success").
   Color carries meaning per FSE_UI.md → Color-as-Meaning. */

.biq-banner--warning {
    border-color: var(--biq-color-warning);
    background: var(--biq-color-warning-soft);
}
.biq-banner--warning .biq-banner__title { color: var(--biq-color-text-primary); }

.biq-banner--info {
    border-color: var(--biq-color-action);
    background: var(--biq-color-action-soft);
}

.biq-banner--success {
    border-color: var(--biq-color-action);
    background: var(--biq-color-action-soft);
}

/*  --fm — Founding Member recognition only.  Gold tokens are reserved
    by Standing Order #10 for the founding-member program and must not
    appear on banners that announce general info.  Usage today: Step 1
    of the registration wizard when the next non-internal registrant
    would receive an FM number. */
.biq-banner--fm {
    border-color: var(--biq-color-fm);
    background: var(--biq-color-fm-soft);
}
.biq-banner--fm .biq-banner__title { color: var(--biq-color-fm-strong); }

@media (max-width: 720px) {
    .biq-banner {
        flex-direction: column;
        align-items: stretch;
    }
    .biq-banner__actions { justify-content: flex-end; }
}

@media (prefers-reduced-motion: reduce) {
    .biq-banner { /* none */ }
}

@media (prefers-contrast: more) {
    .biq-banner {
        border-width: 2px;
    }
    .biq-banner__message { color: var(--biq-color-text-primary); }
}
