/**
 * Categories Accordion Block Style
 * Styles for the accordion variation of the core/categories block
 */

.wp-block-categories.is-style-accordion {
    list-style: none;
    padding: 0;
    margin: 0;
}

.wp-block-categories.is-style-accordion > li {
    border-bottom: 1px solid var(--wp--preset--color--dividers);
    margin: 0;
    padding: 0;
}

.wp-block-categories.is-style-accordion > li:last-child {
    border-bottom: none;
}

/* Category header wrapper (flexbox layout) */
.wp-block-categories.is-style-accordion .categories-accordion-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
    width: 100%;
}

.wp-block-categories.is-style-accordion a {
    padding: 0.75rem 0;
    display: block;
}

/* Category link/name (left side) */
.wp-block-categories.is-style-accordion .categories-accordion-header > a {
    flex: 1;
    text-decoration: none;
    font-size: inherit;
    line-height: 1.5;
}

.wp-block-categories.is-style-accordion .categories-accordion-header > a:hover,
.wp-block-categories.is-style-accordion .categories-accordion-header > a:focus {
    text-decoration: underline;
}

/* Toggle button (right side) */
.wp-block-categories.is-style-accordion .categories-accordion-toggle {
    background: none;
    border: none;
    padding: 0.25rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--wp--preset--color--tertiary);
    transition: opacity 0.2s ease;
}

.wp-block-categories.is-style-accordion .categories-accordion-toggle:hover {
    opacity: 0.8;
}

.wp-block-categories.is-style-accordion .categories-accordion-toggle:focus {
    outline: 2px solid var(--wp--preset--color--tertiary);
    outline-offset: 2px;
}

/* SVG icon styling */
.wp-block-categories.is-style-accordion .categories-accordion-toggle svg {
    display: block;
    width: 20px;
    height: 20px;
    pointer-events: none;
}

/* Collapsible content (child categories) */
.wp-block-categories.is-style-accordion .categories-accordion-content {
    padding-left: 1em;
}

/* category 1 is "uncategorized" */
.wp-block-categories.is-style-accordion .categories-accordion-content[hidden],
.wp-block-categories .cat-item-1 {
    display: none;
}

/* Child category list */
.wp-block-categories.is-style-accordion
    .categories-accordion-content
    ul.children {
    list-style: none;
    padding: 0;
    margin: 0 0 1em;

    ul.children {
        margin: 0;
    }
}

.wp-block-categories.is-style-accordion
    .categories-accordion-content
    ul.children
    li
    a {
    font-weight: 400;
    text-decoration: none;
    font-size: inherit;
    line-height: 1.5;
}

.wp-block-categories.is-style-accordion
    .categories-accordion-content
    ul.children
    li
    a:hover,
.wp-block-categories.is-style-accordion
    .categories-accordion-content
    ul.children
    li
    a:focus {
    text-decoration: underline;
}
