@media screen and (max-width: 768px){
    .minimize div *:not(.pinmonkey-logo){
        visibility: hidden;
    }

    .pinmonkey-logo{
        height: 2rem;
        aspect-ratio: 1;
    }
    
    .minimize:has(.toggled-menu) div *{
        visibility: visible;
    }
    .minimize:has(.toggled-menu){
    }
}

.sidebar div{
    height: 100svh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media screen and (min-width: 768px){
    .pinmonkey-logo{
        height: 3.5rem;
        aspect-ratio: 1;
    }
}

@media screen and (min-width: 1230px){
    .pinmonkey-logo{
        height: 5rem;
        aspect-ratio: 1;
    }
}

.nav{
    margin-top: 3rem;
}

.nav a{
    margin-bottom: .5rem;
    padding: .5rem;
    color: var(--bs-secondary);
    text-decoration: none;
    font-weight: bold;
    transition: all .1s linear;
    text-wrap: nowrap;
}

.nav a:not(.current-tab):hover{
    transform: translateX(.5rem);
}

.current-tab{
    color: var(--bs-primary) !important;
    border-radius: 50%;
    width: 100%;
    transform: translateX(1rem);
    position: relative;
    isolation: isolate;

    --nav-slider-offset: 0;
}

@media screen and (min-width: 2000px){
    .current-tab::before{
        width: 20rem;
    }
}
.current-tab::before{
    content: '';
    position: absolute;
    z-index: -1;
    width: 10rem;
    height: 5ch;
    background-color: var(--bs-body-bg);
    top: var(--nav-slider-offset);
    left: -1rem;
    border-radius: 2rem 0 0 2rem;
    transition: all .2s linear;
}

.card{
    width: 15rem;
    height: 22rem;
    padding: 0;
    margin-right: .5rem;
}

.card img{
    border-radius: .375rem;
    width: 100%;
    height: 75%;
}

h2{
    text-align: center;
    margin-top: 2rem;
    font-weight: bold;
    font-size: 4ch;
}

h3{
    text-align: center;
    font-weight: bold;
}

.content{
    margin-inline: 10rem;
    margin-block: 1rem;
}

.card{
    overflow: hidden;
}
.shop-card{
    position: relative;

    transition: scale .3s ease;
}

.shop-card-price,
.shop-card-btn{
    position: absolute;
    left: calc(-100%);
    transition: all .3s ease;
}

.shop-card-title{
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    font-weight: bold;
    font-size: 2ch;
    transition: all .3s ease;
    text-wrap: nowrap;
}

.shop-card-title:is(.dash-form){
    bottom: 3rem;
}

.shop-card-title input{
    font-weight: bold;
    font-size: 2ch;
    text-wrap: nowrap;
}

.dash-form, .dash-form input{
    color: var(--bs-secondary);
    display: inline;
}

.shop-card-price:is(.dash-form){
    left: .1rem;
    bottom: .1rem;
}

.shop-card-stock:is(.dash-form){
    font-size: 1.5ch;
    bottom: .1rem;
    right: .1rem;
}

.shop-card-stock:is(.dash-form) input{
    width: 2ch;
}
.shop-card-price:is(.dash-form) input{
    width: 4ch;
}
.shop-card-price:is(.dash-form) input:focus{
    width: 100%;
}
.shop-card-stock{
    position: absolute;
    right: 0;
    bottom: calc(-100%);
    transition: all .2s ease;
    font-size: 1ch;
}

.shop-card-stock:hover{
    font-size: 1.5ch;
}

.shop-card:hover .shop-card-stock,
.shop-card:focus .shop-card-stock{
    bottom: 0;
}

.shop-card:hover,
.shop-card:focus{
    scale: 1.01;
}
.shop-card:hover .shop-card-title:is(:not(.dash-form)),
.shop-card:focus .shop-card-title:is(:not(.dash-form)){
    font-size: 1.75ch;
}
.shop-card:is(:not(#dash-card)):hover div *,
.shop-card:is(:not(#dash-card)):focus div *{
    transform: translate(0, 0);
    left: 1rem;
}

.shop-card-btn{
    bottom: 5rem;
}

.shop-card-price{
    bottom: 1.5rem;
}

@media screen and (max-width: 1250px){
    .content{
        margin-inline: 2rem;
    }
}

.checkout-success{
    display: flex;
    justify-context: center;
    align-items: center;
    flex-direction: column;
    height: 30svh;
}

.basket-quantity-btns{
    position: absolute;
    right: .5rem;
    bottom: .1rem;
}

.quan-update-btn:hover{
    color: var(--bs-secondary);
}

.admin-login-form{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    margin-top: 5rem;
}

.card-footer:is(.dash){
    display: flex;
    justify-content: center;
}

.item-delete{
    margin-top: .25rem;
}

.add-item{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.add-item form{
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: .2rem;
    justify-content: center;
}

.demo-card{
    position: relative;
    margin-top: 2rem;
}
.demo-card > div::after{
    content: 'hover';
    position: absolute;
    width: 3rem;
    height: 1rem;
    color: rgb(60, 60, 60);
    left: 50%;
    top: .1rem;
    transform-origin: center;
    transform: translate(-50%, 0);
    transition: top .3s ease-in-out;
    animation: grow 2s linear infinite;
}

@keyframes grow{
    0% {scale: 1;}
    25% {scale: 1.1;}
    50% {scale: 1;}
}

.demo-card > div:hover::after{
    top: calc(-100%);
}
