/* Importeer de font uit google webfonts */
@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&display=swap');

/* Reset alle paddings en margins in het document, irritant */
* {
    padding: 0;
    margin: 0;
    font-family: "Lexend", sans-serif;
    font-weight: 400;
    font-style: normal;
    box-sizing: border-box; /* Zorgt ervoor dat paddings niet buiten de div vallen */
}
html, body {
    height: 100%;
}

/* Reset button styling zodat ik vanaf scratch kan aanpassen, want de standaard styling is irritant */
button {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    outline: none;
}

/* Overige utility classes voor spacings etc */
.spacing {
    padding: 0 12px;
}
.container {
    max-width: 1300px;
    margin: 0 auto;
}
.button {
    color: white;
    font-family: Lexend;
    font-size: 14px;
    font-weight: 700;
    display: inline-flex;
    padding: 12px 24px;
    line-height: 1;
    align-items: center;
    border-radius: 16px;
    text-shadow: none;
    overflow: hidden;
    transition: all 0.2s ease-in-out;
    background-color: #06B261;
}
.button:hover {
    background-color: #05a055;
}
.title {
    font-size: 24px;
    font-weight: 700;
    color: #333;
}
.subtitle {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    text-align: center;
    margin-bottom: 12px;
}
input[type="text"], input[type="number"] {
    padding: 6px;
    border: 1px solid #c6c6c6;
    border-radius: 8px;
    font-size: 16px !important;
    color: #333;
    outline: none;
}
input[type="text"]::placeholder, input[type="number"]::placeholder {
    color: #c6c6c6;
}

.auth {
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 24px;
    align-items: center;
    height: 100svh;
    width: 100%;
}


.add {
    z-index: 999;
    position: absolute;
    top: 24px;
    left: 50vw;
    transform: translateX(-50%);
    width: 95%;
    max-width: 400px;
    height: auto;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 2px, rgba(0, 0, 0, 0.07) 0px 2px 4px, rgba(0, 0, 0, 0.07) 0px 4px 8px, rgba(0, 0, 0, 0.07) 0px 8px 16px, rgba(0, 0, 0, 0.07) 0px 16px 32px, rgba(0, 0, 0, 0.07) 0px 32px 64px;
    padding: 24px;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: center;
    background-color: white;
    overflow: scroll;
}
.add_input {
    width: calc(100% - 60px);
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 12px;
}
.add_quantity {
    position: absolute;
    top: 59px;
    right: 24px;
    width: 50px;
}
.add__buttons {
    display: flex;
    flex-direction: row;
    gap: 8px;
    justify-content: space-between;
}
.add__button-close {
    background-color: #FF4D4D;
    &:hover {
        background-color: #FF3333;
    }
}
.add_new {
    position: fixed;
    bottom: 12px;
    right: 12px;
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background-color: #06B261;
    z-index: 2;
}
.add_new svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    fill: white;
}
.remove_all {
    position: fixed;
    bottom: 12px;
    left: 12px;
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background-color: #FF4D4D;
    z-index: 2;
}
.remove_all svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    fill: white;
}
#suggestions {
    margin-bottom: 12px;
    div {
        padding: 6px 6px;
        border: 1px solid #c6c6c6;
        font-size: 16px;
        color: #838383;
    }
    div:first-child {
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
    }
    div:last-child {
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
    }
}







.list {
    position: relative;
    z-index: 1;
}
#shopping-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 16px;
    padding-bottom: 80px;
}
.product {
    position: relative;
    width: calc(33.333% - 4px);
    background-color: #C9ECDC;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
    padding: 8px 4px;
}
.product:nth-child(1) {
    border-top-left-radius: 16px;
}
.product:nth-child(3) {
    border-top-right-radius: 16px;
}

.product-icon {
    width: 48px;
    height: 48px;
}
.product-icon svg {
    width: 100%;
    height: 100%;
}
.product-title {
    font-size: 14px;
    text-align: center;
}
.product-quantity {
    position: absolute;
    top: 8px;
    right: 8px;
    font-size: 12px;
    color: #838383;
}




.boodschappenlijst {
    margin: 40px auto;
    max-width: 500px;
    background-color: #f7f7f7;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.boodschappenlijst__title {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    text-align: center;
    margin-bottom: 16px;
}

.boodschappenlijst__items {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.boodschappenlijst__items li {
    background-color: white;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 16px;
    color: #333;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
    transition: transform 0.1s ease-in-out;
}

.boodschappenlijst__items li:hover {
    transform: scale(1.02);
}
