/* =========================================================
   FAQ
========================================================= */

.faq-section {
    padding:
        var(--section-spacing)
        0;

    background:
        #ffffff;
}


/* =========================================================
   INNER
========================================================= */

.faq-section__inner {
    width: 100%;

    margin-inline: auto;
}


/* =========================================================
   TITLE
========================================================= */

.faq-section__title {
    width: 100%;

    margin:
        0
        0
        30px;

    color:
        var(--color-text);

    font-size: 30px;
    line-height: 1.25;
    font-weight: 700;

    text-align: center;
}


/* =========================================================
   ITEMS
========================================================= */

.faq-section__items {
    width: 100%;

    border-top:
        1px solid
        var(--color-border);
}


/* =========================================================
   ITEM
========================================================= */

.faq-section__item {
    width: 100%;

    background:
        #f7f7f7;

    border-bottom:
        1px solid
        var(--color-border);
}


/* =========================================================
   SUMMARY RESET
========================================================= */

.faq-section__question {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        34px;

    align-items: center;

    gap: 20px;

    min-height: 68px;

    padding:
        15px
        18px;

    color:
        #333333;

    cursor: pointer;

    list-style: none;

    text-align: left;
}


.faq-section__question::-webkit-details-marker {
    display: none;
}


/* =========================================================
   QUESTION TEXT
========================================================= */

.faq-section__question-text {
    min-width: 0;

    font-size: 18px;
    line-height: 1.35;
    font-weight: 700;

    text-align: left;
}


/* =========================================================
   ICON
========================================================= */

.faq-section__icon {
    position: relative;

    display: block;

    width: 28px;
    height: 28px;

    justify-self: end;

    border:
        1px solid
        #d7d7d7;

    border-radius:
        50%;

    background:
        #ffffff;
}


.faq-section__icon span {
    position: absolute;

    top: 50%;
    left: 50%;

    width: 12px;
    height: 2px;

    background:
        var(--service-primary-hover);

    transform:
        translate(
            -50%,
            -50%
        );

    transition:
        transform
        var(--transition-fast);
}


.faq-section__icon span:last-child {
    transform:
        translate(
            -50%,
            -50%
        )
        rotate(90deg);
}


/* =========================================================
   OPEN
========================================================= */

.faq-section__item[open]
.faq-section__question {
    background:
        var(--service-primary-soft);
}


.faq-section__item[open]
.faq-section__icon span:last-child {
    transform:
        translate(
            -50%,
            -50%
        )
        rotate(0deg);
}


/* =========================================================
   ANSWER
========================================================= */

.faq-section__answer {
    padding:
        0
        62px
        20px
        18px;

    color:
        var(--color-text-secondary);

    background:
        var(--service-primary-soft);

    font-size: 14px;
    line-height: 1.65;

    text-align: left;
}


/* =========================================================
   HOVER
========================================================= */

@media (hover: hover) {

    .faq-section__question:hover {
        background:
            #f1f6f9;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .faq-section__title {
        font-size: 26px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .faq-section__title {
        margin-bottom: 24px;

        font-size: 24px;

        text-align: center;
    }


    .faq-section__question {
        grid-template-columns:
            minmax(0, 1fr)
            30px;

        gap: 14px;

        min-height: 60px;

        padding:
            13px
            14px;
    }


    .faq-section__question-text {
        font-size: 15px;
    }


    .faq-section__icon {
        width: 26px;
        height: 26px;
    }


    .faq-section__answer {
        padding:
            0
            14px
            16px;

        font-size: 14px;
    }

}