.leospoiler {
    --leospoiler-title-color: #008aeb;
    --leospoiler-title-bg: #f0f0f0;
    --leospoiler-title-bg-hover: #e7e7e7;
    --leospoiler-content-bg: #f9f9f9;
    margin: 1rem 0;
    border-radius: .25rem;
    overflow: hidden;
}

.leospoiler__summary {
    display: flex;
    align-items: center;
    gap: .625rem;
    padding: .5rem .9375rem;
    color: var(--leospoiler-title-color);
    background: var(--leospoiler-title-bg);
    cursor: pointer;
    font-weight: 700;
    list-style: none;
}

.leospoiler__summary::-webkit-details-marker {
    display: none;
}

.leospoiler__summary::before {
    content: '›';
    display: inline-block;
    font-size: 1.25em;
    line-height: 1;
    transition: transform .2s ease;
}

.leospoiler[open] .leospoiler__summary::before {
    transform: rotate(90deg);
}

.leospoiler__summary:hover,
.leospoiler__summary:focus-visible {
    background: var(--leospoiler-title-bg-hover);
}

.leospoiler__summary:focus-visible {
    outline: 2px solid var(--leospoiler-title-color);
    outline-offset: -2px;
}

.leospoiler__content {
    padding: .9375rem;
    background: var(--leospoiler-content-bg);
}

.leospoiler__content-inner > :first-child {
    margin-top: 0;
}

.leospoiler__content-inner > :last-child {
    margin-bottom: 0;
}
