/* ============================= */
/* GLOBAL */
/* ============================= */

* {
    box-sizing: border-box;
}


body {

    margin: 0;

    background: #ffffff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    color: #111111;

}



/* ============================= */
/* MAIN CONTAINER */
/* ============================= */

.container {

    width: 100%;

    max-width: 650px;

    margin: 0 auto;

    padding:
        25px
        18px
        80px;

}



/* ============================= */
/* HEADER */
/* ============================= */

.header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 15px;

    margin-bottom: 30px;

}


.header h1 {

    margin: 0;

    font-size: 30px;

    font-weight: 700;

}


.subtitle {

    margin-top: 5px;

    color: #777777;

    font-size: 15px;

}



/* ============================= */
/* CART BUTTON */
/* ============================= */

.cart-button {

    border: none;

    background: #111111;

    color: #ffffff;

    border-radius: 30px;

    padding:
        12px
        18px;

    font-size: 15px;

    cursor: pointer;

    white-space: nowrap;

}


.cart-button:hover {

    background: #333333;

}



/* ============================= */
/* GRID */
/* ============================= */

.grid {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        20px
        18px;

}



/* ============================= */
/* CATEGORY + BRAND CARDS */
/* ============================= */

.category-card,
.brand-card,
.product-card {

    min-width: 0;

    cursor: pointer;

}



/* ============================= */
/* IMAGE BOX */
/* ============================= */

.image-box {

    width: 100%;

    aspect-ratio: 1 / 1;

    background: #f4f4f4;

    border-radius: 18px;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    font-size: 55px;

    transition:
        transform 0.15s ease,
        background 0.15s ease;

}


.category-card:hover .image-box,
.brand-card:hover .image-box,
.product-card:hover .image-box {

    transform: scale(1.015);

    background: #eeeeee;

}



/* ============================= */
/* REAL IMAGES */
/* ============================= */

.image-box img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

}



/* ============================= */
/* BRAND PLACEHOLDER */
/* ============================= */

.brand-placeholder {

    font-size: 32px;

    font-weight: 700;

    color: #444444;

}



/* ============================= */
/* ITEM NAME */
/* ============================= */

.item-name {

    margin-top: 10px;

    font-size: 17px;

    font-weight: 600;

    line-height: 1.25;

}



/* ============================= */
/* PRODUCT PRICE */
/* ============================= */

.product-price {

    margin-top: 5px;

    color: #666666;

    font-size: 15px;

}



/* ============================= */
/* BACK BUTTON */
/* ============================= */

.back-button {

    border: none;

    background: transparent;

    color: #111111;

    font-size: 16px;

    font-weight: 600;

    cursor: pointer;

    padding: 5px 0;

    margin-bottom: 22px;

}


.back-button:hover {

    opacity: 0.6;

}



/* ============================= */
/* HIDE SCREENS */
/* ============================= */

.hidden {

    display: none;

}



/* ============================= */
/* MOBILE */
/* ============================= */

@media (max-width: 450px) {

    .container {

        padding:
            20px
            14px
            70px;

    }


    .grid {

        gap:
            18px
            12px;

    }


    .header h1 {

        font-size: 27px;

    }


    .item-name {

        font-size: 16px;

    }


    .cart-button {

        padding:
            11px
            15px;

    }

}