
/* ### CATEGORY ### */
.category {
    background-color: var(--_c-bg);
    padding: 2.5rem;
}

.category .container {
    max-width: 100%;
    padding: 0;
}

.category .wrapper {
    display: grid;
    grid-template-columns: 26.875rem 1fr;
    transition: var(--trans-4);
}

.category .content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.75rem;
    background-color: #ffff;
    padding-inline: 2.5rem;
    border-radius: 0.75rem 0 0 0.75rem;
    transition: var(--trans-4);
}

.category .content > :first-child {
    font-family: var(--ff-tertiary-700);
    font-size: var(--fs-base, 1rem);
    color: #000;
}

.category .content p {
    font-family: var(--ff-tertiary-400);
    font-size: var(--fs-xs, 0.75rem);
    color: #000;
}

.category .image {
    width: 100%;
}

.category .image img {
    width: 100%;
    height: 21.875rem;
    object-fit: cover;
    object-position: left;
    border-radius: 0 0.75rem 0.75rem 0;
    transition: var(--trans-4);
}


/* ### BREADCRUMB ### */
.breadcrumb {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 2rem;
    border-bottom: 1px solid var(--_c-dark-lgtst);
    padding: 0.625rem 1.25rem;
}

.breadcrumb li {
    position: relative;
    display: flex;
    align-items: center;
}

.breadcrumb li:not(:last-child)::after {
    content: '/';
    position: absolute;
    inset: -2px -1.125rem 0 auto;
    color: var(--_c-dark-lgt);
    margin-block: auto;
}

.breadcrumb :where(a, span) {
    font-family: var(--ff-tertiary-700);
    font-size: var(--fs-2xs, 0.75rem);
}

.breadcrumb a {
    color: var(--_c-dark-lgt);
}

.breadcrumb a:hover {
    font-family: var(--ff-tertiary-700);
    color: #000;
}

.breadcrumb li strong {
    color: #000;
}

/* ### PRODUCTS ### */
.products {
    padding: 1.25rem 2.5rem;
}

.products .container {
    max-width: calc(var(--container-size) + 6.25rem);
    padding: 0;
}

.products .title {
    margin-bottom: 1rem;
}

.products .title * {
    font-family: var(--ff-tertiary-700);
    font-size: var(--fs-base, 1rem);
    color: #000;
}

.products .wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 5rem;
}

.products .product {
    width: 100%;
    transition: var(--trans-4);
}

.products .product img {
    <!-- width: 100%; -->
    height: 100%;
    object-fit: cover;
    margin-bottom: 0.5rem;
    transition: var(--trans-4);
}

.products .product > :nth-child(2) * {
    display: block;
    font-family: var(--ff-tertiary-500);
    font-size: var(--fs-2xs, 0.75rem);
    line-height: 1.3;
    color: var(--_c-dark-1);
    margin-bottom: 1.5rem;
    transition: var(--trans-4);
}

.products .product > :nth-child(2):hover * {
    color: var(--c-primary-hvr);
}

.products .product .price {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0;
    margin-bottom: 0.5rem;
}

.products .product .price li {
    font-family: var(--ff-tertiary-400);
    font-size: var(--fs-2xs, 0.75rem);
    color: var(--_c-dark);
}

.products .product .btn__white {
    width: 100%;
    font-family: var(--ff-tertiary-700);
    font-size: var(--fs-2xs, 0.75rem);
    text-transform: capitalize;
    color: var(--_c-dark-1);
    border-radius: 3.125rem;
    padding: 0.5rem;
    border: 1px solid var(--_c-gray-lgt);
}

.products .product .btn__white:hover {
    background-color: var(--_c-bg);
}

/* ### ADD TO CART (MODAL) ### */
.modal-dialog {
    max-width: 47rem;
    padding-block: 3.125rem;
}

.cart {
    background-color: #fff;
    padding: 1.25rem 1rem;
    border-radius: 0.75rem;
    margin: auto;
}

.cart .wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.cart .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0.5rem;
}

.cart .detail > * {
    display: block;
    font-family: var(--ff-tertiary-700);
    font-size: var(--fs-xs, 0.875rem);
    color: #000;
}

.cart .detail > :first-child {
    font-family: var(--ff-tertiary-400);
}

.cart .detail > :nth-child(2) {
    font-size: var(--fs-base, 1rem);
    line-height: 1.3;
    margin-block: 0.5rem;
}

.cart .detail > :nth-child(4) {
    margin-block: 1rem;
}

.cart .detail .nav-tabs {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.625rem 1rem;
    border: none;
    margin-bottom: 1rem;
}

.cart .detail .nav-item {
    width: 100%;
}

.cart .detail .nav-link {
    width: 100%;
    font-family: var(--ff-tertiary-500);
    font-size: var(--fs-xs, 0.875rem);
    line-height: 1;
    color: #000;
    padding: 0.625rem 0;
    border: 2px solid var(--_c-fields);
    border-radius: 0.5rem;
    margin: 0;
}

.cart .detail .nav-link.active {
    border-color: #000;
}

.cart .detail .group {
    display: flex;
    align-items: center;
    background-color: var(--_c-fields);
}

.cart .detail .group:has(input:focus-visible) {
    outline: 1px solid var(--_c-outline);
    box-shadow: 0 0 0 3px var(--_c-shadow);
}

.cart .detail .group:has(input:valid) {
    outline: none;
    box-shadow: none;
}

.cart .detail input {
    width: 100%;
    height: 2.5rem;
    font-family: var(--ff-tertiary-400);
    font-size: var(--fs-2xs, 0.75rem);
    background-color: transparent;
    padding: 0.625rem;
    outline: none;
}

.cart .detail label {
    font-family: var(--ff-tertiary-400);
    font-size: var(--fs-2xs, 0.75rem);
    padding-inline: 0.625rem;
}

.cart .detail .seprator {
    display: block;
    font-family: var(--ff-tertiary-700);
    font-size: var(--fs-xs, 0.875rem);
    line-height: 1.8;
    margin-block: 0.5rem;
}

.cart .detail .btns {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 2rem;
}

.cart .detail .btns button {
    width: 100%;
    font-family: var(--ff-tertiary-500);
    font-size: var(--fs-xs, 0.875rem);
    line-height: 1;
    text-transform: capitalize;
    padding: 1rem 2rem;
    border: 1px solid transparent;
    border-radius: 2rem;
    transition: var(--trans-4);
}

.cart .detail .btns button[type="submit"] {
    background-color: var(--_c-gray-drk);
    border-color: var(--_c-gray-drk);
}

.cart .detail .btns button[type="submit"]:hover {
    background-color: #000;
    border-color: #000;
}

.cart .detail .btns button[type="reset"] {
    border-color: var(--_c-border);
}

.cart .detail .btns button[type="reset"]:hover {
    background-color: var(--_c-fields);
    color: #000;
}

/* ###-# MEDIA QURIES #-### */
@media screen and (max-width: 1600px) {
    /* /// PRODUCTS /// */
    .products .wrapper {
        gap: 3.125rem;
    }
}

@media screen and (max-width: 1024px) {
    /* /// CATEGORY /// */
    .category .wrapper {
        grid-template-columns: repeat(2, 1fr);
    }

    .category .content {
        padding: 2rem;
    }

    /* /// PRODUCTS /// */
    .products .wrapper {
        gap: 1.25rem;
    }
}

@media screen and (max-width: 860px) {
    /* /// CATEGORY /// */
    .category {
        padding: 2rem;
    }
    
    .category .wrapper {
        grid-template-columns: 1fr;
    }

    .category .content {
        border-radius: 0.75rem 0.75rem 0 0;
    }

    .category .image img {
        height: 16.25rem;
        border-radius: 0 0 0.75rem 0.75rem;
    }

    /* /// PRODUCTS /// */
    .products .wrapper {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media screen and (max-width: 720px) {
    /* /// PRODUCTS /// */
    .products {
        padding: 1.25rem;
    }

    .products .wrapper {
        grid-template-columns: repeat(2, 1fr);
    }

    /* /// CART /// */
    .modal-dialog {
        margin-inline: 2rem;
    }
    
    .cart .wrapper {
        grid-template-columns: 1fr;
    }

    .cart .image {
        width: 100%;
    }
    
    .cart .image img {
        max-height: 22rem;
    }
}

@media screen and (max-width: 580px) {
    /* /// CATEGORY /// */
    .category {
        padding: 1.5rem;
    }

    .category .content {
        padding: 1.5rem;
    }

    .category .image img {
        height: 12.5rem;
    }
}

@media screen and (max-width: 480px) {
    /* /// PRODUCTS /// */
    .products .wrapper {
        grid-template-columns: 1fr;
    }

     /* /// CART /// */
    .modal-dialog {
        padding-block: 2rem;
        margin-inline: 1rem;
    }

    .cart .detail .nav-tabs,
    .cart .detail .btns {
        flex-wrap: wrap;
    }
}