.frontpage {
    display: flex;
    flex-direction: row;
    width: 100vw;
    height: 85vh;
    font-family: "noto sans", sans-serif;
}

.left-page {
    display: flex;
    flex-direction: column;
    overflow-y: auto;  
    height: 100%;
    width: 70%;
    align-items: center;
}

.right-page {
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100%;
    width: 30%;
    box-shadow: 0px 0px 12px 0px #0000001c;
}

.product-list {
    display: flex;
    flex-direction: column;
    row-gap: 2vh;
    height: fit-content;
}

.title-price {
    display: flex;
    flex-direction: row;
    margin: 0 1vw 0 1vw;
    padding: 0.5vh 0.3vw 0.5vh 0.3vw;
    border-bottom: 1px solid grey;
}

.title-price-left {
    display: flex;
    width: 50%;
    justify-content: left;
}

.title-price-right {
    display: flex;
    width: 50%;
    justify-content: right;
}

.product-list-title {
    padding-right: 0.5vw;
}

.product-list-price {
    align-items: right;
}

.product-price-list {
    display: flex;
    flex-direction: column;
    height: 60%;
    margin-top: 1.5vh;
}

.total-buy-out {
    display: flex;
    flex-direction: column;
    height: 40%;
}

.total-buy-out-area {
    display: flex;
    justify-content: center;
    align-items: top;
    height: 100%;
}

.total-price {
    display: flex;
    flex-direction: row;
    column-gap: 5px;
    border-top: 1px solid grey;
    border-bottom: 1px solid grey;
    padding: 0.5vh 4vw 0.5vh 4vw;
}

.total {
    font-weight: bold;
    font-size: 22px;
}

.buy-button {
    background-color: #14ad1a;
    height: fit-content;
    width: fit-content;
    border-radius: 20px;
    padding: 15px 3.5vw 15px 3.5vw;
    font-size: 25px;
    font-weight: bolder;
    color: white;
    transition: transform 0.3s ease;
}

.buy-button:hover {
    cursor: pointer;
    transform: scale(1.025);
}

.favourite-product-box {
    display: flex;
    position: relative;
    flex-direction: row;
    background-color: #f1f1f1;
    justify-content: center;
    align-items: center;
    border-radius: 20px;
    padding: 25px 5px 25px 25px;
    height: 15vh;
    width: 35vw;
}

.favourite-product-box-middle {
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0 1vw 0 1vw;
}

.top-box {
    height: 30%;
    text-align: left;
}

.middle-box {
    display: flex;
    flex-direction: row;
    column-gap: 1vw;
    height: 40%;
}

.bottom-box {
    display: flex;
    flex-direction: row;
    height: 30%;
    justify-content: center;
    align-items: center;
    
}

.product-card-image {
    justify-content: center;
    align-items: center;
}

.product-image {
    object-fit: scale-down;
    height: 70%;
    width: 10vw;
}

.product-card-size {
    display: flex;
    width: 70%;
    font-size: 18px;
    font-weight: 500;
    justify-content: center;
}

.product-card-price {
    display: flex;
    width: 30%;
    font-size: 18px;
    font-weight: 500;
    justify-content: center;
}

.product-card-color {
    display: flex;
    width: 33%;
    justify-content: center;
}

.product-card-description {
    display: flex;
    font-size: 16px;
}

.shopping-bag-image {
    object-fit: scale-down;
    height: 20;
    width: 4.5vh;
}

.bin-image {
    object-fit: scale-down;
    height: 20;
    width: 6.5vh;
    margin-top: 0.8vh;
}

.product-card-title {
    font-size: 20px;
    font-weight: 500;
}

.favourite-product-box-right {
    display: flex;
    flex-direction: column;
    border-left: 2px solid #bbbbbb;
    height: 100%;
    justify-content: center;
    align-items: center;
    column-gap: 2vh;
}

.favourites-bin {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 3vw;
    border: none;
    border-radius: 0 20px 20px 0;
    margin: 0 0.5vw 0 0;
    &:hover {
       background-color: #bbbbbb; 
    }
}

.amount-indicator { 
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: black;
    color: white;
    top: 0;
    right: 0;
    transform: translate(25%, -25%);
}