
.gkk-accordion {
    .gkk-accordion__heading {
        margin-bottom: 30px;

        &.c-center { text-align: center; }
        &.c-right { text-align: right; }
        &.c-left { text-align: left; }
    }

    .gkk-accordion__subheading {
        color: rgba(0, 0, 0, 0.70);
        text-align: center;
        font-family: Inter;
        font-size: 23px;
        font-style: normal;
        font-weight: 400;
        line-height: 36px; /* 156.522% */
        letter-spacing: 0.46px;
    }

    .gkk-accordion__date {
        margin-top: 4px;
        color: #9aa2ad;
        font-size: 14px;
    }

    .gkk-accordion__list {
        border-top: 1px solid rgb(14 122 99 / 30%);
    }

    .gkk-accordion__item {
        border-bottom: 1px solid rgb(14 122 99 / 30%);
    }

    .gkk-accordion__header {
        display: flex;
        align-items: center;
        gap: 24px;
        padding-block: 22px;
        cursor: pointer;
        list-style: none;
        user-select: none;

        &::-webkit-details-marker {
            display: none;
        }

        &::marker {
            content: "";
        }

        &:hover .gkk-accordion__title {
            color: #0e7a63;
        }

        &:focus-visible {
            outline: 2px solid #0e7a63;
            outline-offset: 4px;
        }
    }

    .gkk-accordion__title {
        flex: 1 1 auto;
        font-weight: 700;
        font-size: 20px;
        line-height: 1.35;
        color: #16212e;
        transition: color 0.2s ease;
    }

    .gkk-accordion__icon {
        position: relative;
        flex: 0 0 22px;
        width: 20px;
        height: 20px;

        &::before,
        &::after {
            content: "";
            position: absolute;
            background-color: #0e7a63;
            transition: transform 0.25s ease, opacity 0.25s ease;
        }

        &::before {
            inset-block-start: 50%;
            inset-inline-start: 0;
            width: 100%;
            height: 2px;
            transform: translateY(-50%);
        }

        &::after {
            inset-inline-start: 50%;
            inset-block-start: 0;
            width: 2px;
            height: 100%;
            transform: translateX(-50%);
        }
    }

    .gkk-accordion__panel {
        padding-inline-start: 46px;
        padding-block-end: 24px;
        color: #6b7280;
        font-size: 15px;
        line-height: 1.7;

        > :last-child {
            margin-bottom: 0;
        }
    }

    .gkk-accordion__item[open] .gkk-accordion__icon::after {
        transform: translateX(-50%) scaleY(0);
        opacity: 0;
    }

    @media (max-width: 575px) {
        .gkk-accordion__header {
            gap: 16px;
        }

        .gkk-accordion__title {
            font-size: 17px;
        }

        .gkk-accordion__panel {
            padding-inline-start: 38px;
        }
    }
}


