/* Products/Courses/Cards */
.products-cards {
    width: 100%;
    max-width: 132em;
    margin: 0 auto;
    padding-inline: clamp(1rem, 2.8vw, 4rem);
}

.products-heading-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-top: 2.35rem;
    margin-bottom: 0.55rem;
    max-width: 46rem;
    gap: 0.35rem;
}

.products-kicker {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #667269;
}

.products-heading {
    margin: 0;
    font-size: 2rem;
    font-weight: 700;
    color: #1f2d39;
    letter-spacing: 0.015em;
    line-height: 1.08;
}

.products-heading-copy {
    margin: 0.15rem 0 0;
    max-width: 38rem;
    font-size: 0.88rem;
    line-height: 1.72;
    color: #3d4540;
}

@media screen and (min-width: 64em) and (max-width: 79.98em) {
    .products-heading-block {
        max-width: none;
    }

    .products-heading {
        font-size: 1.78rem;
        white-space: nowrap;
    }

    .products-heading-copy {
        max-width: none;
        font-size: 0.86rem;
        white-space: nowrap;
    }
}

@media screen and (min-width: 80em) {
    .products-heading-block {
        max-width: none;
    }

    .products-heading,
    .products-heading-copy {
        white-space: nowrap;
        max-width: none;
    }
}

main > .content:not(.course-page-layout) .products-cards {
    max-width: none;
    margin: 0;
    padding-inline: 0;
}

main > .content:not(.course-page-layout) .products-cards .products-first-line,
main > .content:not(.course-page-layout) .products-cards .products-second-line,
main > .content:not(.course-page-layout) .products-cards .products-third-line {
    justify-content: space-between;
}

main > .content:not(.course-page-layout) .products-cards .products-first-line .product-card,
main > .content:not(.course-page-layout) .products-cards .products-second-line .product-card,
main > .content:not(.course-page-layout) .products-cards .products-third-line .product-card {
    max-width: none;
}

    .products-cards .product-card {
        background: linear-gradient(180deg, #ffffff 0%, #faf8f3 100%);
        border: 0.0625rem solid rgba(24, 29, 26, 0.08);
        box-shadow: 0 0.7rem 1.5rem rgba(0, 0, 0, 0.045);
        border-radius: 0.5rem;
        padding: 1.1rem 1.05rem 1.15rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        text-align: center;
        flex: 1 1 16.5em;
        max-width: 17.5em;
    }
        .products-cards .product-card .product-top-label {
            width: 100%;
            margin: 0;
            font-size: 0.6rem;
            line-height: 1.25;
            font-weight: 500;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            opacity: 0.82;
        }
        .products-cards .product-card .product-icon {
            width: 100%;
            min-height: 12.1em;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .products-cards .product-card .products-veja-mais {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 9em;
            min-height: 2.9em;
            padding: 0.88em 1.35em;
            margin: 0;
            margin-top: auto;
            background-color: #ffffff;
            color: #02accf;
            font-weight: bold;
            border-radius: 0.24rem;
            text-transform: uppercase;
            text-align: center;
            transition: background-color 0.3s ease;
        }
        .products-cards .product-card .products-veja-mais:hover,
        .products-cards .product-card:has(.product-icon a:hover) .products-veja-mais,
        .products-cards .product-card:has(.product-icon a:focus-visible) .products-veja-mais,
        .products-cards .product-card .products-veja-mais:focus-visible {
            background-color: #02accf;
            color: #ffffff;
        }
        .products-cards .product-card .button-blue-border {
            color: #02accf;
            font-weight: bold;
            border-radius: 0.24rem;
            border: 0.1em solid #02accf;
            text-transform: uppercase;
            text-align: center;
            transition: background-color 0.3s ease;
        }
        .products-cards .product-card .product-icon .circle {
            width: 11rem;
            height: 11rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            font-size: 1rem;
            font-family: 'Roboto';
            border-radius: 50%;
            margin: auto;
            transition: box-shadow 0.3s;
        }
            .products-cards .product-card .product-icon .circle .sigma {
                font-size: 1.5rem;
            }
            .products-cards .product-card .product-icon .circle .product-text{
                margin-bottom: 0.2rem;
                font-weight: 500;
            }
            .products-cards .product-card .product-icon .circle .product-text .product-primary,
            .products-cards .product-card .product-icon .circle .product-text .product-secondary {
                display: block;
                line-height: 1;
                font-weight: inherit;
            }
            .products-cards .product-card .product-icon .circle:hover,
            .products-cards .product-card:has(.products-veja-mais:hover) .product-icon .circle,
            .products-cards .product-card:has(.products-veja-mais:focus-visible) .product-icon .circle,
            .products-cards .product-card .product-icon a:focus-visible .circle {
                box-shadow: 0 0.125rem 0.4rem rgba(0, 0, 0, 0.22);
            }
        .products-cards .yellow .circle {
            background-color: #ffcc29;
            color: #000000;
            box-shadow: 0 0.125rem 0.3125rem rgba(0, 0, 0, 0.1);
        }
        .products-cards .green .circle {
            background-color: #3ea25e;
            color: #ffffff;
            box-shadow: 0 0.125rem 0.3125rem rgba(0, 0, 0, 0.1);
        }
        .products-cards .black .circle {
            background-color: #333333;
            color: #ffffff;
            box-shadow: 0 0.01rem 0.1rem rgba(0, 0, 0, 0.1);
        }
        .products-cards .black-golden-border .circle {
            background-color: #000000;
            color: #ffc107;
            box-shadow: 0 0 0 0.14rem #ffc107, 0 0.125rem 0.3125rem rgba(0, 0, 0, 0.1);
        }
        .products-cards .black-golden-border .circle:hover,
        .products-cards .black-golden-border:has(.product-icon a:hover) .circle,
        .products-cards .black-golden-border:has(.products-veja-mais:hover) .circle,
        .products-cards .black-golden-border:has(.products-veja-mais:focus-visible) .circle,
        .products-cards .black-golden-border .product-icon a:focus-visible .circle {
            box-shadow: 0 0 0 0.14rem #ffc107, 0 0.125rem 0.4375rem rgba(0, 0, 0, 0.3);
        }
        .products-cards .red .circle {
            background-color: #900020;
            color: #ffffff;
            border: 0.125rem solid #900020;
        }
        .products-cards .blue-golden-border .circle {
            background-color: #02accf;
            color: #ffffff;
            border: 0.125rem solid #ffc107;
        }
        .products-cards .blue .circle {
            background-color: #02accf;
            color: #ffffff;
        }
        .products-cards .dark-blue .circle {
            background-color: #0283a0;
            color: #ffffff;
        }
    .products-cards .products-first-line {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: stretch;
        gap: 1.1rem;
        padding: 0.55rem 0;
    }
        .products-cards .products-first-line .product-primary {
            font-size: 2.5rem;
            margin: 0.1rem;
            margin-bottom: 0;
        }
        .products-cards .products-first-line .product-secondary {
            font-size: 1.35rem;
            margin: 0.1rem;
        }
    .products-cards .products-second-line {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: stretch;
        gap: 1.1rem;
        padding: 0.55rem 0;
    }
        .products-cards .products-second-line .product-primary {
            font-size: 1.85rem;
            margin: 0.45rem;
            margin-bottom: 0.1rem;
            margin-top: 0.15rem;
        }
        .products-cards .products-second-line .product-secondary {
            font-size: 1rem;
            margin: 0.225rem;
            margin-left: 0.95rem;
            margin-right: 0.95rem;
            margin-bottom: 0;
        }
    .products-cards .products-third-line {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: stretch;
        gap: 1.1rem;
        padding: 0.55rem 0;
        padding-bottom: 2.35rem;
    }
        .products-cards .products-third-line .product-primary {
            font-size: 2rem;
            margin: 0.1rem;
            margin-bottom: 0;
        }
        .products-cards .products-third-line .product-secondary {
            font-size: 1.25rem;
            margin: 0.1rem;
        }


@media screen and (max-width: 43.75em) {
    .products-cards,
    .products-cards .products-first-line,
    .products-cards .products-second-line,
    .products-cards .products-third-line {
        background-color: #ffffff;
    }
}

@media screen and (max-width: 35.31125em) {
    .products-cards {
        padding-inline: 0.75rem;
    }

    .products-cards .products-first-line,
    .products-cards .products-second-line,
    .products-cards .products-third-line {
        justify-content: center;
        gap: 1rem;
    }

    .products-cards .product-card {
        flex: 1 1 100%;
        width: 100%;
        max-width: none;
    }
}

@media screen and (min-width: 35.3125em) and (max-width: 47.99875em) {
    .products-cards .products-first-line,
    .products-cards .products-second-line,
    .products-cards .products-third-line {
        justify-content: space-between;
    }

    .products-cards .products-first-line .product-card,
    .products-cards .products-second-line .product-card,
    .products-cards .products-third-line .product-card {
        flex: 0 1 calc((100% - 1.25rem) / 2);
        max-width: none;
    }
}

@media screen and (min-width: 80em) {
    .products-cards .products-first-line,
    .products-cards .products-second-line {
        justify-content: space-between;
    }

    .products-cards .products-first-line .product-card,
    .products-cards .products-second-line .product-card {
        flex: 1 1 0;
        max-width: none;
    }

    .products-cards .products-third-line {
        width: calc(50% - 0.625rem);
        margin-left: auto;
        margin-right: auto;
        justify-content: space-between;
    }

    .products-cards .products-third-line .product-card {
        flex: 1 1 0;
        max-width: none;
    }
}

@media screen and (min-width: 48em) and (max-width: 63.98em) {
    main > .products-cards .products-first-line,
    main > .products-cards .products-second-line,
    main > .products-cards .products-third-line {
        justify-content: space-between;
    }

    main > .products-cards .products-first-line .product-card,
    main > .products-cards .products-second-line .product-card,
    main > .products-cards .products-third-line .product-card {
        flex: 0 1 calc((100% - 1.25rem) / 2);
        max-width: none;
    }
}

@media screen and (min-width: 64em) and (max-width: 79.98em) {
    .products-cards .products-first-line,
    .products-cards .products-second-line {
        justify-content: space-between;
    }

    .products-cards .products-first-line .product-card,
    .products-cards .products-second-line .product-card {
        flex: 0 1 calc((100% - 3.75rem) / 4);
        max-width: none;
    }

    .products-cards .products-third-line {
        width: calc(50% - 0.625rem);
        margin-left: auto;
        margin-right: auto;
        justify-content: space-between;
    }

    .products-cards .products-third-line .product-card {
        flex: 1 1 0;
        max-width: none;
    }
}

@media screen and (min-width: 132em) {
    .products-cards {
        max-width: none;
        padding-inline: clamp(1rem, 2.8vw, 4rem);
    }
}

@media screen and (min-width: 150em) {
    .products-cards {
        max-width: none;
        padding-inline: clamp(1rem, 2.8vw, 4rem);
    }

    .products-cards .products-first-line,
    .products-cards .products-second-line,
    .products-cards .products-third-line {
        gap: 1.75rem;
    }

    .products-cards .products-first-line .product-card,
    .products-cards .products-second-line .product-card,
    .products-cards .products-third-line .product-card {
        max-width: none;
    }

    .products-cards .products-first-line,
    .products-cards .products-second-line {
        justify-content: flex-start;
    }

    .products-cards .products-first-line .product-card,
    .products-cards .products-second-line .product-card {
        flex: 1 1 20em;
    }

    .products-cards .products-third-line {
        width: calc(50% - 0.875rem);
        margin-left: auto;
        margin-right: auto;
        justify-content: space-between;
    }

    .products-cards .products-third-line .product-card {
        flex: 1 1 0;
        max-width: none;
    }

    .products-cards .product-card .products-veja-mais {
        width: 9.5em;
    }
}
