* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: system-ui, sans-serif
}

.schoolbell-regular {
    font-family: "Schoolbell", cursive;
    font-weight: 400;
    font-style: normal;
}


/* STRUCTURE */
.app {
    display: flex;
    gap: 1em;
    background-image: url(../assets/png/decor/avatar_fond.png);
    background-repeat: no-repeat;
    background-size: cover;

    .hint {
        color: pink;
        font-family: "Schoolbell";
    }

    audio {
        display: none;
    }

    .bouton-fond button {
        width: fit-content;
        border: none;
        font-family: "Schoolbell";
        color: #F6489A;
    }

    .export .row {
        display: flex;
    }

    .bouton-fond {
        aspect-ratio: 1 / 1;
        width: 150px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .bouton-fond.exportPng {
        background-image: url(../assets/png/perfume/perfume_1.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }

    .bouton-fond.share {
        background-image: url(../assets/png/perfume/perfume_2.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        padding-top: 40px;
    }

    .bouton-fond.randomize {
        background-image: url(../assets/png/perfume/perfume_3.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }

    .exportPng {
        background: none;
    }

    .logo {
        scale: 0.8;
    }

    .app-header {
        display: flex;
        justify-content: center;
        margin-top: -40px;
    }

    section {
        width: 100%;
        height: 100dvh;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    aside {

        width: 40vw;
        display: flex;
        flex-direction: column;
        max-height: 100dvh;
        position: relative;


        #closet {
            z-index: 0;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;

            img {
                height: 100vh;
                position: absolute;
                top: 0;
                right: 0;
            }

        }

        header {
            z-index: 1;
            padding: 1em;
            height: 23vh;

        }

        nav {
            padding: 1em;
            border-bottom: 1px solid black;
        }



        .export,
        .transformers label {
            padding: 1em;
            z-index: 1;
        }

    }
}

.panes {
    height: 100%;
    overflow: scroll;
    margin-bottom: 2.5px;

    .grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.5em;
        padding: 0.5em
    }
}



/* AVATAR SPACE */

.stage-wrap {
    aspect-ratio: 1/1;
    width: min(100%, 640px);
    scale: 1.5;
}

/* TABS DESIGN*/

.tabs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5em;
    width: 20vw;
    padding: 2em;
}

.tab {
    padding: 6px 8px;
    border: 1px solid #ddd;
    background: #fff;
    cursor: pointer;
    border-radius: 6px;
    font-size: 13px
}

.tab[aria-selected="true"] {
    border-color: #333
}

/* PANES FONCTION */

.pane {
    display: none
}

.pane[aria-hidden="false"] {
    display: block
}

/* CARDS DESIGN */



.card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 6px;
    border-radius: 8px;
    cursor: pointer
}

.card:hover {
    outline: 2px dashed #aaa
}

.card.active {
    outline: 2px solid #1e88e5
}

.card.disabled {
    opacity: .45
}

.card svg {}

.card img.thumb {
    width: 100%;
    height: auto;
    display: block
}

.card label {
    font-size: 12px
}

.card[data-cat="top"] {
    overflow: hidden;

    img {
        scale: 2;
        translate: 5% 25%;
    }

}

.card[data-cat="dress"] {
    overflow: hidden;

    img {
        scale: 1.2;
        translate: 5% 0;
    }

}

.card[data-cat="model"] {
    overflow: hidden;

    img {
        scale: 1.1;
    }

}

.card[data-cat="glove"] {
    overflow: hidden;

    img {
        scale: 2;
    }

}

.card[data-cat="socks"] {
    overflow: hidden;

    img {
        scale: 1.3;
        translate: 0 -25%;
    }

}

.card[data-cat="shoes"] {
    overflow: hidden;

    img {
        scale: 1.5;
    }

}

.card[data-cat="bottoms"] {
    overflow: hidden;

    img {
        scale: 1.5;
        translate: 5% -8%;
    }

}

.card[data-cat="chapeau"] {
    overflow: hidden;

    img {
        scale: 5;
        translate: 15% 200%;
    }

}

.card[data-cat="belt"] {
    overflow: hidden;

    img {
        scale: 4;
        translate: 25% 30%;
    }

}

.card[data-cat="glasses"] {
    overflow: hidden;

    img {
        scale: 5;
        translate: 12% 180%;
    }

}

.card[data-cat="scarf"] {
    overflow: hidden;

    img {
        scale: 4;
        translate: 12% 85%;
    }

}

.card[data-cat="hair_front"] {
    overflow: hidden;

    img {
        scale: 1.1;
        translate: 0 5%;
    }

}

.card[data-cat="bag"] {
    overflow: hidden;

    img {
        scale: 2;
    }

}

.none {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    border: 1px dashed #bbb;
    color: #999;
    font-size: 12px
}

button {
    padding: 6px 8px;
    border: 1px solid #ddd;
    background: #FFF5FB;
    border-radius: 6px;
    cursor: pointer
}

button[data-cat] {
    background: transparent;
    border: 0;
    border-radius: 20px;
    outline: none;
    font-size: 0;
    background-size: contain;
    background-repeat: no-repeat;
    aspect-ratio: 1 / 1;
}

button[data-cat="model"] {
    background-image: url(../assets/png/icons/icon_model.png);
}

button[data-cat="bag"] {
    background-image: url(../assets/png/icons/icon_bag.png);
}

button[data-cat="belt"] {
    background-image: url(../assets/png/icons/icon_belt.png);
}

button[data-cat="bottoms"] {
    background-image: url(../assets/png/icons/icon_bottoms.png);
}

button[data-cat="glove"] {
    background-image: url(../assets/png/icons/icon_glove.png);
}

button[data-cat="socks"] {
    background-image: url(../assets/png/icons/icon_sock.png);
}

button[data-cat="shoes"] {
    background-image: url(../assets/png/icons/icon_shoe.png);
}

button[data-cat="top"] {
    background-image: url(../assets/png/icons/icon_top.png);
}

button[data-cat="dress"] {
    background-image: url(../assets/png/icons/icon_dress.png);
}

button[data-cat="jewelry"] {
    background-image: url(../assets/png/icons/icon_jewelry.png);
}

button[data-cat="hair_front"] {
    background-image: url(../assets/png/icons/icon_bangs.png);
}

button[data-cat="hair_behind"] {
    background-image: url(../assets/png/icons/icon_hair.png);
}

button[data-cat="glasses"] {
    background-image: url(../assets/png/icons/icon_glasses.png);
}

button[data-cat="chapeau"] {
    background-image: url(../assets/png/icons/icon_hat.png);
}

button[data-cat="scarf"] {
    background-image: url(../assets/png/icons/icon_scarf.png);
}

.card .remove {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 6px;
    right: 6px;
    width: 22px;
    height: 22px;
    line-height: 20px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 50%;
    background: #fff;
    font-size: 14px;
    cursor: pointer;
    opacity: 0;
    transition: opacity .15s ease-in-out;
}

.card:hover .remove,
.card.active .remove {
    opacity: 1;
}

.card .remove:hover {
    border-color: #333
}

.card.disabled .remove {
    display: none
}

nav#tabs button[data-cat="model"] {
    order: 1;
}

nav#tabs button[data-cat="dress"] {
    order: 2;
}

nav#tabs button[data-cat="hair_front"] {
    order: 3;
}

nav#tabs button[data-cat="hair_behind"] {
    order: 4;
}

nav#tabs button[data-cat="top"] {
    order: 5;
}

nav#tabs button[data-cat="bottoms"] {
    order: 6;
}

nav#tabs button[data-cat="socks"] {
    order: 7;
}

nav#tabs button[data-cat="shoes"] {
    order: 8;
}

nav#tabs button[data-cat="belt"] {
    order: 9;
}

nav#tabs button[data-cat="jewelry"] {
    order: 10;
}

nav#tabs button[data-cat="glove"] {
    order: 11;
}

nav#tabs button[data-cat="scarf"] {
    order: 12;
}

nav#tabs button[data-cat="glasses"] {
    order: 13;
}

nav#tabs button[data-cat="chapeau"] {
    order: 14;
}

nav#tabs button[data-cat="bag"] {
    order: 15;
}