@use "../mixins" as *;
@use "../media" as *;

.how-it-works {
    margin-top: 95px;

    &__inner {
        padding-top: calc(var(--section-padding-y) * 2);
        padding-bottom: var(--section-padding-y);

        @include desktop {
            padding-top: var(--section-padding-y);
        }
    }

    &__title {
        text-align: center;
        line-height: 1em;

        @include mobile-s {
            text-align: start;
        }
    }

    &__subtitle {
        margin-top: 1em;
        margin-bottom: 2.5em;
        text-align: center;
        color: var(--color-dark-80);
        transition: color var(--transition-duration-03);

        @include mobile-s {
            text-align: start;
            max-width: 80%;
        }
    }

    &__demo {
        @include flex-center(space-between);

        align-items: stretch;
        gap: 20px;

        @include tablet {
            flex-direction: column;
        }
    }

    & .demo-card {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 1.5em;
        background-color: var(--color-light-accent);
        border-radius: var(--border-radius-30);

        &__side,
        &__side--accent {
            padding-inline: 1.5em;
            height: var(--button-height);
            width: fit-content;
            display: flex;
            align-items: center;
            border-radius: 40px;
            margin-bottom: 2em;
            border: 1px solid var(--color-dark);
        }

        &__side--accent {
            border: none;
            color: var(--color-stable-dark);
            background-color: var(--color-accent);
        }

        &__description {
            flex-grow: 1;
            color: var(--color-dark-80);
            margin-block: 1em;
            transition: color var(--transition-duration-03);
        }

        &__video {
            justify-self: end;
            width: 100%;
            height: 250px;
            border-radius: var(--border-radius-30);
            background-color: var(--color-light-accent-3);
            place-content: center;
            text-align: center;
        }
    }

    &__cards {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1em;
        margin-top: 20px;

        @include desktop {
            grid-template-columns: repeat(2, 1fr);
        }

        @include mobile {
            grid-template-columns: repeat(1, 1fr);
        }
    }

    &__card {
        flex: 1;
        height: auto;
        padding: 30px;
        border-radius: var(--border-radius-30);
        background-color: var(--color-light-accent);

        &-title {
            margin-block: 0.7em;
        }

        &-description {
            @include fluid-text(18, 16, 1380);

            color: var(--color-dark-80);
            transition: color var(--transition-duration-03);
        }
    }
}