.section_1 {}


/* Category band */

.cat-head {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    position: relative;
    top: -15px;
    padding: 0 15px 0 0;
    background-color: var(--white);
}

.cat-head h2 {
    font-family: 'Helvetica Neue';
    font-weight: bold;
    font-size: 24px;
    color: var(--blue);
    white-space: nowrap;
    margin-bottom: 0;
}

.cardWrap {
    border: 1px solid #b9babd;
    border-left: 0;
    border-radius: 15px 15px 15px 0;
    padding-bottom: 30px;

    &:not(:last-child) {
        margin-bottom: 50px;
    }
}

/* .cat-head .rule {
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg, #b9babd, transparent);
} */

.cat-head .count {
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    padding: 3px 11px;
    border-radius: 20px;
    letter-spacing: .03em;
}

.grid {
    display: grid;
    gap: 20px;
}

.grid.two {
    grid-template-columns: repeat(2, 1fr);
}

.card {
    display: flex;
    flex-wrap: wrap;
    padding: 24px 26px;
    position: relative;
    overflow: hidden;
    flex-direction: row;
    border: 0 !important;
    box-shadow: 0 1px 3px rgba(16, 53, 127, .05);
    transition: transform .18s ease, box-shadow .18s ease;
}

.card-img {
    width: 250px;

    figure {
        background-size: contain;
        background-repeat: no-repeat;
        background-position: top right;
        background-image: url(../images/portfolio/productBg.png);
    }
}

.card-box {
    padding-left: 20px;
    width: calc(100% - 250px);
}

.card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 26px rgba(16, 53, 127, .12);
}

.card.gold::before {
    background: var(--gold);
}

.card .tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--orange);
    margin-bottom: 8px;
}

.card h3 {
    font-family: 'Helvetica Neue';
    font-weight: bold;
    font-size: 24px;
    color: var(--blue);
    margin-bottom: 6px;
}

.card .sub {
    font-family: 'Helvetica Neue';
    font-weight: bold;
    font-size: 24px;
    color: var(--blue);
    margin-bottom: 12px;
}

.card p {
    font-size: 14px;
    color: var(--muted);
}

/* Optimised Product Mix */
.mix {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 16px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 40px;
    align-items: center;
    box-shadow: 0 1px 3px rgba(16, 53, 127, .05);
}

.mix .chart {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.chartWrap {
    .chart {
        width: 320px;
    }

    .copy {
        width: calc(100% - 320px);
        padding-left: 30px;

        h2 {
            color: var(--blue);
        }
    }
}

.donut {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: conic-gradient(var(--opc) 0 18%,
            var(--ppc) 18% 50%,
            var(--pcc) 50% 95%,
            var(--psc) 95% 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.donut .hole {
    width: 108px;
    height: 108px;
    border-radius: 50%;
    background: var(--card);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.donut .hole b {
    font-size: 22px;
    color: var(--blue);
    font-weight: 800;
    line-height: 1;
}

.donut .hole small {
    font-size: 10px;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-top: 3px;
}

.mix .copy h2 {
    color: var(--blue);
    margin-bottom: 10px;
}

.mix .copy p {
    font-size: 14px;
    color: var(--muted);
    margin-bottom: 20px;
}

.legend {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px 28px;
}

.legend .item {
    display: flex;
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 10px;
}

.item .swatch {
    width: 150px;
    height: 14px;
    flex: none;
    display: block;
    margin-top: 3px;
}

.legend .pct {
    font-size: 18px;
    color: var(--ink);
    line-height: 1;
}

.legend .lbl {
    font-size: 12px;
    color: var(--muted);
    display: block;
    margin-top: 3px;
}

/* Responsive */

@media(max-width: 1440px) {
    .card-img {
        width: 220px;
    }

    .card-box {
        width: calc(100% - 220px);
    }
}

@media(max-width: 1366px) {
    .card-box {
        width: 100%;
        padding-left: 0;
        padding-top: 10px;
    }

    .section_2 {
        .card {
            display: block;
        }
    
        .card-img {
            width: 100%;
            figure {
                width: 250px;
                height: 250px;
                margin: 0px auto 10px;
    
                img {
                    width: 100%;
                    height: 100%;
                    object-fit: contain;
                }
            }
        }
    }

}

@media (max-width: 1199px) {
    .card-img {
        width: 200px;
    }

    /* .card-box {
        width: calc(100% - 200px);
    } */

    .card h3 {
        font-size: 20px;
    }

    .chartWrap .chart {
        width: 280px;
    }

    .chartWrap .copy {
        width: calc(100% - 280px);
    }

    .legend {
        gap: 14px 20px;
    }

    .item .swatch {
        width: 100%;
    }
}

@media (max-width: 991px) {

    /* product cards: two-up -> single column */
    .grid.two {
        grid-template-columns: 1fr;
    }

    /* product mix: stack chart above copy */
    .chartWrap .chart,
    .chartWrap .copy {
        width: 100%;
    }

    .chartWrap .chart {
        text-align: center;
    }

    .chartWrap .copy {
        padding-left: 0;
        margin-top: 30px;
    }

    /* legend: four -> two columns */
    .legend {
        grid-template-columns: repeat(2, 1fr);
    }

    .category {
        .row_1 {
            .col_2 {
                margin-top: 20px;
            }
        }
    }
}

@media (max-width: 767px) {
    .cardWrap:not(:last-child) {
        margin-bottom: 30px;
    }

    .category {
        .row_1 {
            .col_2 {
                .imgBox {
                    a {
                        width: 300px;
                        margin: 0 auto;
                    }
                }
            }
        }
    }
}

@media (max-width: 575px) {

    /* stack image above text inside each card */
    .card {
        flex-direction: column;
        padding: 18px;
    }

    .card-img {
        width: 160px;
        margin: 0 auto 15px;
    }

    .card-img figure {
        background-position: top center;
    }

    .card-box {
        width: 100%;
        padding-left: 0;
    }

    .card h3 {
        font-size: 18px;
    }

    .cat-head h2 {
        font-size: 20px;
        white-space: normal;
    }

    /* legend: single column on phones */
    .legend {
        grid-template-columns: 1fr;
    }
}

@media(max-width: 480px) {
    .category {
        .row_1 {
            .col_2 {
                .imgBox {
                    a {
                        width: 238px;
                    }
                }
            }
        }
    }
}