.zhokl-fps-block {
    margin-block: 1.5em;
    border-width: var(--zhokl-fps-border-width, 1px);
    border-style: var(--zhokl-fps-border-style, solid);
    border-color: var(--zhokl-fps-border-color, var(--wp--preset--color--contrast-3, #dcdcde));
    border-radius: var(--zhokl-fps-border-radius, var(--wp--custom--border-radius, 6px));
    background: var(--zhokl-fps-background, var(--wp--preset--color--base, #fff));
    color: var(--zhokl-fps-text, inherit);
    font: inherit;
    overflow: hidden;
    box-sizing: border-box;
}

.zhokl-fps-summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--zhokl-fps-summary-gap, 0.75em);
    padding: var(--zhokl-fps-summary-padding, 0.85em 1em);
    cursor: pointer;
    color: inherit;
    font: inherit;
    background: var(--zhokl-fps-summary-background, transparent);
    border-radius: inherit;
}

.zhokl-fps-summary::-webkit-details-marker {
    display: none;
}

.zhokl-fps-summary__text {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: var(--zhokl-fps-title-weight, 600);
    color: var(--zhokl-fps-title-color, inherit);
}

.zhokl-fps-summary__toggle {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4em;
    color: var(--zhokl-fps-toggle-text-color, inherit);
    font: inherit;
}

.zhokl-fps-summary__toggle[data-toggle-style='text'] {
    font-size: 0.9em;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.zhokl-fps-summary__toggle[data-toggle-style='arrow'] {
    width: var(--zhokl-fps-toggle-size, 1.8em);
    height: var(--zhokl-fps-toggle-size, 1.8em);
    border: 1px solid var(--zhokl-fps-toggle-border-color, currentColor);
    border-radius: 999px;
}

.zhokl-fps-summary__arrow {
    width: var(--zhokl-fps-arrow-size, 0.55em);
    height: var(--zhokl-fps-arrow-size, 0.55em);
    border-right: var(--zhokl-fps-arrow-width, 2px) solid currentColor;
    border-bottom: var(--zhokl-fps-arrow-width, 2px) solid currentColor;
    transform: rotate(45deg) translateY(-8%);
    transition: transform 0.2s ease;
}

.zhokl-fps-block[open] .zhokl-fps-summary__arrow {
    transform: rotate(-135deg) translateX(-8%);
}

.zhokl-fps-content {
    padding: var(--zhokl-fps-content-padding, 0 1em 1em);
    overflow: visible;
    max-height: none;
    color: var(--zhokl-fps-content-text-color, inherit);
    font: inherit;
    background: var(--zhokl-fps-content-background, transparent);
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
}

.zhokl-fps-content > :first-child {
    margin-top: 0;
}

.zhokl-fps-content > :last-child {
    margin-bottom: 0;
}

.zhokl-fps-block[open] .zhokl-fps-summary {
    border-bottom: var(--zhokl-fps-divider-width, 1px) solid var(--zhokl-fps-divider-color, var(--wp--preset--color--contrast-3, #dcdcde));
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.zhokl-fps-block:not([open]) .zhokl-fps-content {
    display: none;
}

.zhokl-fps-block--none .zhokl-fps-summary {
    justify-content: flex-start;
}

.zhokl-fps-block--none .zhokl-fps-summary__text {
    width: 100%;
}

.zhokl-fps-block--animated .zhokl-fps-content {
    will-change: height, opacity;
}

.zhokl-fps-block--animated:not([open]) .zhokl-fps-content[hidden] {
    display: none;
}
