/* BLOCK: Expandable Text */

@property --lines {
    syntax: "<integer>";
    initial-value: 7;
    inherits: false;
}

.block-expandable-text .expandable-state {
    display: none;
}

.block-expandable-text .expandable label {
    display: inline-flex;
    gap: 0.75rem;
    align-items: center;
    margin-top: 2.5rem;
    color: var(--c-bg-dark);
    font-size: var(--font-21-17);
    font-weight: 500;
    cursor: pointer;
}

.block-expandable-text .expandable-state:checked ~ label.expand,
.block-expandable-text .expandable-state:not(:checked) ~ label.collapse {
    display: none;
}

.block-expandable-text .expandable-inner {
    display: -webkit-box;
    -webkit-line-clamp: var(--lines);
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: --lines 300ms ease-out;
    padding-bottom: 4px;
    margin-bottom: -4px;
}

.block-expandable-text .expandable-state:checked ~ .expandable-inner {
    --lines: var(--max-lines, 40);
}

.block-expandable-text .text-content {
    font-size: var(--font-19-15);
    color: var(--c-primary);
}

.block-expandable-text .text-content > * {
    margin: 0;
}

.block-expandable-text .text-content > :not(:last-child) {
    margin-bottom: 1em;
}

@media screen and (width <= 620px) {
    .block-expandable-text .expandable label {
        margin-top: 1.875rem;
    }
}