.fgen-single-journal-page {
    min-height: 100dvh;
    background: var(--vz-body-bg);
}

.fgen-single-journal-viewport {
    height: calc(100dvh - 64px);
    min-height: 0;
    overflow: hidden;
}

.fgen-single-journal-shell {
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0 auto;
}

.fgen-single-journal-card {
    width: 100%;
    height: 100%;
    min-height: 0;
}

.fgen-single-journal-card > .journal-trade-card-public {
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0 !important;
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: 0;
}

.fgen-single-journal-card > .journal-trade-card-public > .card-body {
    min-height: 100%;
    padding-bottom: 28px;
}

@media (min-width: 992px) {
    .fgen-single-journal-shell {
        max-width: 920px;
        padding: 12px 16px;
    }

    .fgen-single-journal-card > .journal-trade-card-public {
        border-radius: var(--vz-border-radius);
    }
}

@media (max-width: 991.98px) {
    .fgen-single-journal-shell {
        max-width: none;
        padding: 0;
    }

    .fgen-single-journal-card > .journal-trade-card-public {
        border-left: 0;
        border-right: 0;
    }
}

@media (max-width: 991.98px) {
    .fgen-single-journal-card > .journal-trade-card-public > .card-body {
        padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px));
    }
}

.fgen-single-journal-page .journal-public-card-footer {
    margin-bottom: 32px;
}

@media (max-width: 991.98px) {
    .fgen-single-journal-page .journal-public-card-footer {
        margin-bottom: calc(
            32px + env(safe-area-inset-bottom, 0px)
        );
    }
}

/* =========================================================
   FGENIO SINGLE JOURNAL DESKTOP SPLIT V1
   Desktop-only detail layout.
   Mobile keeps the existing public journal card unchanged.
   ========================================================= */

@media (min-width: 992px) {

    .fgen-single-journal-shell {
        max-width: 1440px;
        padding: 12px 16px;
    }

    .journal-single-desktop {
        width: 100%;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }

    .journal-single-desktop-grid {
        display: grid;
        grid-template-columns:
            minmax(0, 1.35fr)
            minmax(380px, .65fr);
        width: 100%;
        height: 100%;
        min-height: 0;
    }

    .journal-single-desktop-media {
        position: relative;
        min-width: 0;
        min-height: 0;
        height: 100%;
        overflow: hidden;
        background: #030d1c;
        border-right:
            1px solid
            var(--vz-border-color);
    }

    .journal-single-desktop-media
    .journal-card-media-slider {
        width: 100%;
        height: 100%;
    }

    .journal-single-desktop-media
    .journal-card-media-slider-track {
        height: 100%;
    }

    .journal-single-desktop-media
    .journal-card-media-slide {
        height: 100%;
    }

    .journal-single-desktop-media
    .journal-card-media-slide-frame {
        width: 100%;
        height: 100%;
        aspect-ratio: auto;
    }

    .journal-single-desktop-media
    .journal-card-media-slide-frame > img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        background: #030d1c;
    }

    .journal-single-desktop-content {
        display: flex;
        flex-direction: column;
        min-width: 0;
        min-height: 0;
        height: 100%;
        background: var(--vz-card-bg);
    }

    .journal-single-desktop-content-scroll {
        flex: 1 1 auto;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 24px;
        overscroll-behavior: contain;
    }

    .journal-single-desktop-footer {
        flex: 0 0 auto;
        padding:
            14px
            24px
            0;
        background: var(--vz-card-bg);
    }
}

@media (min-width: 1200px) {

    .journal-single-desktop-grid {
        grid-template-columns:
            minmax(0, 1.45fr)
            minmax(420px, .55fr);
    }
}

@media (min-width: 992px) {
    .journal-single-desktop-brand {
        position: absolute;
        left: 14px;
        bottom: 14px;
        z-index: 20;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        min-width: 86px;
        min-height: 32px;
        padding: 6px 10px;
        border-radius: 7px;
        background: rgba(3, 13, 28, .92);
        pointer-events: none;
    }

    .journal-single-desktop-brand img {
        display: block;
        width: auto;
        max-width: 118px;
        height: 22px;
        object-fit: contain;
    }
}

