/* Theme-aware EALD-GAP diagram preview + zoomed lightbox (shared by eald-model and eald-process-and-model). */

.eald-gap-diagram-trigger {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    cursor: zoom-in;
    text-align: left;
    font: inherit;
    color: inherit;
    overflow: hidden;
    border-radius: 6px;
    position: relative;
    z-index: 1;
    box-shadow: 0 0 0 0 rgba(15, 23, 42, 0);
    transition: box-shadow 0.18s ease;
}

.eald-gap-diagram-trigger .eald-gap-diagram-theme-img {
    transition: transform 0.18s ease, filter 0.18s ease;
}

.eald-gap-diagram-trigger:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

@media (hover: hover) {
    .eald-gap-diagram-trigger:hover {
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.16);
    }

    .eald-gap-diagram-trigger:hover .eald-gap-diagram-theme-img {
        transform: scale(1.04);
        filter: brightness(1.04);
    }

    :is(html[data-theme="dark"], html[data-bs-theme="dark"]) .eald-gap-diagram-trigger:hover {
        box-shadow: 0 8px 22px rgba(0, 0, 0, 0.45);
    }
}

.eald-gap-diagram-theme-img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.eald-gap-diagram-theme-img--dark {
    display: none;
}

:is(html[data-theme="dark"], html[data-bs-theme="dark"]) .eald-gap-diagram-theme-img--light {
    display: none;
}

:is(html[data-theme="dark"], html[data-bs-theme="dark"]) .eald-gap-diagram-theme-img--dark {
    display: block;
}

.eald-gap-diagram-modal .modal-dialog.eald-gap-diagram-modal-dialog {
    width: min(96vw, 1400px);
    max-width: min(96vw, 1400px);
    margin: 0.6rem auto;
}

.eald-gap-diagram-modal-content {
    position: relative;
    background-color: transparent;
    color: inherit;
    border: none;
    box-shadow: none;
}

.eald-gap-diagram-modal-content .eald-gap-diagram-modal-close {
    position: absolute;
    top: 0.55rem;
    right: 0.55rem;
    z-index: 2;
    background-color: rgba(255, 255, 255, 0.92);
    border-radius: 50%;
    opacity: 1;
    padding: 0.45rem;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.22);
}

:is(html[data-theme="dark"], html[data-bs-theme="dark"]) .eald-gap-diagram-modal-content .eald-gap-diagram-modal-close {
    background-color: rgba(31, 35, 42, 0.92);
    filter: invert(1) grayscale(100%);
}

.eald-gap-diagram-modal-img {
    display: block;
    width: auto;
    height: auto;
    max-width: min(96vw, 1400px);
    max-height: 92vh;
    object-fit: contain;
    margin-left: auto;
    margin-right: auto;
    border-radius: 6px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.28);
}

@media (prefers-reduced-motion: reduce) {
    .eald-gap-diagram-trigger,
    .eald-gap-diagram-trigger .eald-gap-diagram-theme-img {
        transition: none;
    }

    .eald-gap-diagram-trigger:hover .eald-gap-diagram-theme-img {
        transform: none;
        filter: none;
    }

    .eald-gap-diagram-trigger:hover {
        box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.28);
    }
}
