/* Sekcja: faq - pełny CSS sekcji (zapis zagnieżdżony). */

.faq {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;

    .one-item {
        border-radius: 16px;
        overflow: hidden;
        margin-bottom: 15px;
        padding: 2px;

        .title {
            font-weight: 400;
            font-size: 1.5rem;
            line-height: 31px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            cursor: pointer;
            position: relative;
            padding: 14px;
            padding-left: 30px;
            border: none;
            width: 100%;
            border-radius: 16px;
            text-transform: initial;
            text-align: left;
            white-space: normal;
            background-color: var(--light-bg2);

            .roll {
                transition: 0.2s;
                -webkit-transition: 0.2s;
                width: 40px;
                height: 40px;
                border-radius: 5px;
                flex: none;
                order: 1;
                flex-grow: 0;
                position: relative;
                display: flex;
                align-items: center;
                justify-content: center;
                margin-left: 15px;

                .caret {
                    transition: 0.3s;
                    -webkit-transition: 0.3s;
                    width: 20px;
                    height: 20px;
                    background-image: url(/img/faq-caret.svg);
                    background-size: contain;
                    background-repeat: no-repeat;
                }

                &.open {
                    .caret {
                        transform: rotateX(180deg);
                    }
                }
            }

            &:hover,
            &:focus {
                transform: none;
                background-color: var(--element1-btn2-bg-hover);
                color: var(--element1-btn2-text-hover);
            }
        }

        .item-body {
            display: none;
            padding: 20px;
            padding-left: 30px;
            background-color: var(--element1-content-bg);
            border-color: var(--element1-content-border);

            &:hover {
                background-color: var(--element1-content-bg-hover);
                border-color: var(--element1-content-border-hover);
            }
        }
    }
}

@media (max-width: 575.5px) {
    .faq {
        .one-item {
            margin-bottom: 20px;

            .title {
                font-size: 1.125rem;
                line-height: 20px;
                padding: 10px 15px;

                .roll {
                    width: 32px;
                    height: 32px;
                }
            }

            .item-body {
                padding: 15px 15px 10px 15px;

                .line {
                    margin-bottom: 20px;
                }
            }
        }
    }
}

@media (min-width: 576px) and (max-width: 767.5px) {
    .faq {
        .one-item {
            margin-bottom: 20px;

            .title {
                font-size: 1.25rem;
                line-height: 30px;
                padding: 10px 15px;

                .roll {
                    width: 36px;
                    height: 36px;
                }
            }

            .item-body {
                padding: 15px 15px 10px 15px;
            }
        }
    }
}

@media (min-width: 768px) and (max-width: 1199.5px) {
    .faq {
        .one-item {
            .title {
                padding: 10px 20px;
            }

            .item-body {
                padding: 20px 20px 15px 20px;
            }
        }
    }
}
