.single-service-qa {
    >div {
        padding: 80px 24px;
        max-width: 1044px;
        margin: 0 auto;

        >h2 {
            text-align: center;
            margin-bottom: 60px;

            &::after {
                content: "";
                display: block;
                width: 60px;
                height: 4px;
                margin: 12px auto 0;
                background-color: var(--color-primary-3);
            }
        }
    }
}

.single-service-qa-item {
    padding: 24px;
    border-bottom: 1px solid var(--color-gray-5);

    >button {
        display: flex;
        align-items: center;
        gap: 12px;
        width: 100%;
        text-align: start;

        >p {
            font-size: 24px;
            color: var(--color-primary-2);
            font-family: "Calypso", sans-serif;
            line-height: 1.5;
            min-width: 56px;
            flex-shrink: 0;
        }

        >h4 {
            flex-grow: 1;
        }

        >svg {
            flex-shrink: 0;
            color: var(--color-primary-2);
            transition: rotate 0.5s, color 0.5s;
        }
    }

    >div {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows .5s;

        >div {
            overflow: hidden;

            >div {
                padding-top: 20px;
                display: flex;
                gap: 22px;

                >:nth-child(1) {
                    flex-shrink: 0;
                    font-size: 24px;
                    color: var(--color-primary-2);
                    font-family: "Calypso", sans-serif;
                    line-height: 1.5;
                }
            }
        }
    }
}

.single-service-qa-item.active {
    >button>svg {
        color: var(--color-gray-4);
        rotate: -90deg;
    }

    >div {
        grid-template-rows: 1fr;
    }
}

@media screen and (width < 768px) {
    .single-service-qa > div {
        >h2{
            margin-bottom: 40px;
        }
    }
    .single-service-qa-item {
        padding: 16px;
        >button {
            >p {
                font-size: 20px;
                min-width: 40px;
            }
        }
        >div > div > div {
            padding-top: 16px;
            gap: 14px;
            >:nth-child(1) {
                font-size: 20px;
            }
        }
    }
}

@media screen and (width < 576px) {
    .single-service-qa > div {
        padding: 60px 24px;
    }
    .single-service-qa-item {
        padding: 16px 0;
    }
}