/* 絞り込み＋団体の一覧（sec_list）。絞り込みのボタンは JS が動くとき（:root.js）だけ出す */
.sec_list {
    padding: 72px 0 96px;
    background: var(--color-bg);

    @media (max-width: 900px) {
        padding: 64px 0 80px;
    }
    @media (max-width: 600px) {
        padding: 48px 0 64px;
    }
    .wrap {
        margin: 0 auto;
        padding: 0 var(--pad-side);
        max-width: calc(var(--wrap-max) + var(--pad-side) * 2);
        display: flex;
        flex-direction: column;
        gap: 24px;
    }
    .filter {
        display: none;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;

        :root.js & {
            display: flex;
        }
    }
    .cats {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;

        @media (max-width: 600px) {
            margin: 0 calc(var(--pad-side) * -1);
            padding: 0 var(--pad-side) 4px;
            width: calc(100% + var(--pad-side) * 2);
            flex-wrap: nowrap;
            overflow-x: auto;
        }
    }
    .cat,
    .only {
        padding: 8px 14px;
        display: inline-flex;
        align-items: center;
        flex-shrink: 0;
        gap: 6px;
        background: var(--color-white);
        color: var(--color-text);
        font-size: 14px;
        font-weight: 700;
        line-height: 1.5em;
        border: 1px solid var(--color-line);
        border-radius: 999px;
        cursor: pointer;
        transition: background-color 0.2s, border-color 0.2s, color 0.2s;

        .n {
            color: var(--color-sub);
            font-size: 12px;
            font-weight: 500;
        }
        &[aria-pressed="true"] {
            background: var(--color-main);
            color: var(--color-white);
            border-color: var(--color-main);

            .n {
                color: var(--color-main-pale);
            }
        }
        @media (hover: hover) {
            &:hover {
                border-color: var(--color-main);
            }
        }
    }
    .only {
        color: var(--color-accent);

        &[aria-pressed="true"] {
            background: var(--color-accent);
            border-color: var(--color-accent);
        }
        @media (hover: hover) {
            &:hover {
                border-color: var(--color-accent);
            }
        }
    }
    .count {
        color: var(--color-sub);
        font-size: 14px;
        line-height: 1.5em;

        .num {
            color: var(--color-text);
            font-size: 20px;
            font-weight: 700;
        }
    }
    .list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px;

        @media (max-width: 1200px) {
            gap: 20px;
        }
        @media (max-width: 900px) {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        @media (max-width: 600px) {
            grid-template-columns: minmax(0, 1fr);
            gap: 16px;
        }
    }
    .empty {
        padding: 40px 0;
        color: var(--color-sub);
        font-size: 14px;
        line-height: 1.8em;
        text-align: center;

        &[hidden] {
            display: none;
        }
    }
}
