/* Progressive enhancement: without JS the complete server-rendered description is visible. */
#box_description .bonzo-description-viewport {
    --bonzo-description-limit: 320;
    display: flow-root;
    overflow-anchor: none;
    scroll-margin-top: 100px;
}

#box_description .bonzo-description-viewport > .fr-view {
    display: flow-root;
}

#box_description .bonzo-description-viewport.is-collapsible {
    overflow: hidden;
    transition: height 280ms ease;
}

#box_description .bonzo-description-viewport.is-collapsed {
    -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 28px), transparent);
    mask-image: linear-gradient(to bottom, #000 calc(100% - 28px), transparent);
}

#box_description .bonzo-description-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 48px;
    margin: 16px 0 16px;
    padding: 12px 20px;
    border: 1px solid #9acdd6;
    border-radius: 8px;
    background: #eaf6f8;
    color: #126579;
    font: inherit;
    font-weight: 700;
    line-height: 1.5;
    text-transform: none;
    cursor: pointer;
    overflow-anchor: none;
}

#box_description .bonzo-description-toggle[hidden] { display: none; }
#box_description .bonzo-description-toggle:hover {
    background: #d9eef2;
    border-color: #239fb5;
}
#box_description .bonzo-description-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

#box_description .bonzo-description-toggle::after {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
}

#box_description .bonzo-description-toggle[aria-expanded="true"]::after {
    transform: translateY(2px) rotate(225deg);
}

@media (max-width: 767px) {
    #box_description .bonzo-description-viewport { --bonzo-description-limit: 260; }
}

@media (prefers-reduced-motion: reduce) {
    #box_description .bonzo-description-viewport.is-collapsible { transition: none; }
}

@media print {
    #box_description .bonzo-description-viewport.is-collapsible {
        height: auto !important;
        overflow: visible;
        -webkit-mask-image: none;
        mask-image: none;
    }
    #box_description .bonzo-description-toggle { display: none; }
}
