:root {
    --vertical-sidebar-top: calc(var(--global-breadcrumb-top, 139px) + var(--global-breadcrumb-height, 0px));
    --mobile-bottom-nav-height: 0px;
    --mobile-safe-area-bottom: env(safe-area-inset-bottom, 0px);
}

main:has(.has-vertical-bar) {
    overflow: visible !important;
}

.has-vertical-bar {
    position: relative;
    padding-left: min(16.7vw, 81px);

    .sidebar-container {
        position: relative;
        width: min(8.3vw, 81px);
        height: auto;
        background-color: transparent;
        margin-left: calc(-1 * min(16.7vw, 81px));
        margin-bottom: 0;
        flex-shrink: 0;
        align-self: stretch;
        border-radius: 0 32px 0px 0;

        display: flex;
        align-items: flex-start;
        flex-direction: column;
        /* justify-content: center; */
        /* margin-top: min(-14.3vw, -61px); */

        .leafs-container {
            position: absolute;
            top: 0;
            left: 0;
            z-index: 2;
            width: 100%;
            height: auto;
            display: flex;
            flex-direction: column;
            align-items: flex-start;

            .primary-color-leaf {
                width: 100%;
                aspect-ratio: 50/71;
                align-self: flex-start;
                border-radius: 0 16px 0 16px;
            }

            .secondary-color-leaf {
                margin-top: -100%;
                width: 100%;
                aspect-ratio: 50/71;
                align-self: flex-start;
                border-radius: 0 16px 0 16px;
            }
        }


        .sidebar-text-container {
            position: sticky;
            top: var(--vertical-sidebar-top);
            z-index: 1;
            display: flex;
            width: 100%;
            height: min(100%, calc(100dvh - var(--vertical-sidebar-top) - var(--mobile-bottom-nav-height) - var(--mobile-safe-area-bottom)));
            box-sizing: border-box;
            align-items: center;
            justify-content: center;
            padding-top: 48px;
            border-radius: 0 32px 0px 0;

            p {
                writing-mode: vertical-rl;
                text-orientation: upright;
                color: var(--custom-black);
                margin: 0;
                /* Remove default paragraph margin */
                text-align: center;
                text-transform: uppercase;
                /* font-size: 16px; */
                font-style: normal;
                font-weight: 500;
                line-height: 24px;
                /* 150% */
                letter-spacing: 0.32px;
                /* align-self: center;
                justify-self: center; */
            }
        }
    }
}



/* =============================================================================
   Section Container Block - 640px (40em)
   ============================================================================= */
@media screen and (min-width: 30em) {

    .has-vertical-bar {
        padding-left: min(16.7vw, 81px);

        .sidebar-container {

            .leafs-container {
                .primary-color-leaf {
                    width: 100%;
                    aspect-ratio: 50/71;
                    align-self: flex-start;
                    border-radius: 0 24px 0 24px;
                }

                .secondary-color-leaf {
                    margin-top: -100%;
                    width: 100%;
                    aspect-ratio: 50/71;
                    align-self: flex-start;
                    border-radius: 0 24px 0 24px;
                }
            }

            p {}
        }
    }
}


/* =============================================================================
   Section Container Block - 640px (40em)
   ============================================================================= */

@media screen and (min-width: 40em) {


    .has-vertical-bar {
        padding-left: min(16.7vw, 81px);

        .sidebar-container {

            .leafs-container {
                .primary-color-leaf {
                    width: 100%;
                    aspect-ratio: 1;
                    align-self: flex-start;
                    border-radius: 0 32px 0 32px;
                }

                .secondary-color-leaf {
                    margin-top: -72%;
                    width: 100%;
                    aspect-ratio: 1;
                    align-self: flex-start;
                    border-radius: 0 32px 0 32px;
                }
            }

            p {}
        }
    }
}

@media screen and (min-width: 60em) {
    .has-vertical-bar {
        .sidebar-container {
            .sidebar-text-container {
                padding-top: 120px;
                padding-bottom: 50px;
            }
        }
    }
}

@media screen and (max-width: 640px) {
    :root {
        --mobile-bottom-nav-height: 88px;
    }
}

/* iOS Safari: vertical upright text can collapse character spacing. */
@supports (-webkit-touch-callout: none) {
    .has-vertical-bar .sidebar-container .sidebar-text-container {
        display: grid !important;
        justify-items: center !important;
    }

    .has-vertical-bar .sidebar-container .sidebar-text-container .leafs-container {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
        grid-area: auto !important;
        align-self: auto !important;
        justify-self: auto !important;
        width: 100% !important;
        height: auto !important;
        z-index: 2 !important;
    }

    .has-vertical-bar .sidebar-container .sidebar-text-container p {
        grid-area: 1 / 1 !important;
        z-index: 3 !important;
        -webkit-writing-mode: vertical-rl !important;
        writing-mode: vertical-rl !important;
        text-orientation: upright !important;
        letter-spacing: 0.16em !important;
        line-height: 1.6 !important;
        font-kerning: none;
        font-variant-ligatures: none;
        -webkit-font-feature-settings: "liga" 0, "kern" 0;
        font-feature-settings: "liga" 0, "kern" 0;
    }

    @media screen and (max-width: 640px) {
        .has-vertical-bar .sidebar-container .sidebar-text-container p {
            letter-spacing: 0.5em !important;
            line-height: 1.8 !important;
        }
    }
}
