/* modal.css — pattern: focus-trapped overlay dialog.
   Uses native <dialog> for focus management + Escape handling.
   See FSE_UI.md → Modal. */

.biq-modal {
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    max-width: min(560px, calc(100vw - var(--biq-space-6)));
    width: 100%;
}

.biq-modal::backdrop {
    background: var(--biq-color-backdrop);
    backdrop-filter: blur(2px);
}

.biq-modal__panel {
    background: var(--biq-color-surface-raised);
    border-radius: var(--biq-radius-lg);
    box-shadow: var(--biq-shadow-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - var(--biq-space-7));
}

.biq-modal__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--biq-space-3);
    padding: var(--biq-space-5);
    border-bottom: 1px solid var(--biq-color-rule);
}

.biq-modal__title {
    font-size: var(--biq-fs-lg);
    font-weight: var(--biq-fw-semibold);
    margin: 0;
    line-height: var(--biq-lh-snug);
}

.biq-modal__close {
    background: transparent;
    border: 0;
    color: var(--biq-color-text-muted);
    cursor: pointer;
    padding: var(--biq-space-1);
    border-radius: var(--biq-radius-sm);
    line-height: 0;
}
.biq-modal__close:hover { color: var(--biq-color-text-primary); background: var(--biq-color-surface-sunk); }

.biq-modal__body {
    padding: var(--biq-space-5);
    overflow-y: auto;
}

.biq-modal__footer {
    display: flex;
    justify-content: flex-end;
    gap: var(--biq-space-3);
    padding: var(--biq-space-4) var(--biq-space-5);
    border-top: 1px solid var(--biq-color-rule);
    background: var(--biq-color-surface);
}

.biq-modal--lg { max-width: min(840px, calc(100vw - var(--biq-space-6))); }

/* Variant: destructive — danger-tinted header for confirm-delete style */
.biq-modal--danger .biq-modal__header {
    background: var(--biq-color-danger-soft);
    color: var(--biq-color-danger-strong);
    border-bottom-color: var(--biq-color-danger);
}
