#aside {
    padding: 10px;
    background: rgba(225, 221, 181, 0.6);
}

    #aside .banner {
        display: flex;
        margin-bottom: 15px;

        justify-content: center;
        align-items: center;
        background: white;
        
        text-align: center;
    }
    
        #aside .banner img {
            display: block;
            max-width: 100%;
        }

    #aside .basket {
        margin-bottom: 15px;
    }
    
        #aside .basket nav {
            padding: 5px 0 0 0;
            text-align: center;
        }
        
            #aside .basket nav a {
                display: inline-block;
                padding: 5px 10px;

                background-color: var(--color-link);
                font-weight: bold;
                font-size: 13px;
                color: white;
            }

        #aside .basket table {
            width: 100%;

            border-collapse: collapse;

            font-size: 13px;
        }
        
            #aside .basket .voucher {
                color: var(--color-link);
            }

            #aside .basket table td {
                padding: 3px 5px;
            }

                #aside .basket table tr td:nth-child(2),
                #aside .basket table tr td:nth-child(3) {
                    white-space: nowrap;
                    width: 1%;
                }


                #aside .basket table tbody tr:last-child td {
                    border-bottom: 1px solid var(--color-link);
                }

            #aside .basket table tfoot {
                font-weight: bold;
            }

                #aside .basket table tfoot td:first-child {
                    text-align: right;
                }
                
                #aside .basket table tfoot .discount td,
                #aside .basket table tfoot .rank-discount td {
                    text-align: left;
                }
                
                #aside .basket table tfoot .rank-discount td:last-child {
                    text-align: right;
                }

#aside .categories {
    margin: 0 0 10px 0;
    padding: 0;
    list-style: none;

    > li:first-child {
        border-top-left-radius: 3px;
        border-top-right-radius: 3px;
    }

    li:last-child {
        border-bottom-left-radius: 3px;
        border-bottom-right-radius: 3px;
    };

    li {
        overflow: hidden;

        &.open {
            ul {
                display: block;
            }

            a:has(~ ul)::after {
                transform: translateY(-50%) rotate(90deg);
            }
        }

        &.current {
            > a {
                background-color: rgba(var(--color-link-rgb), 0.3);
                color: black;
            }
        }

        &:not(:last-child) {
            margin-bottom: 1px;
        }

        ul {
            display: none;
            margin: 1px 0 0 0;
            padding: 0 0 0 10px;
            list-style: none;

            animation: fade-in 0.2s ease-out;

            a {
                background-color: rgba(var(--color-link-rgb), 0.1);
            }
        }

        a {
            display: block;
            position: relative;
            padding: 5px 10px;

            background-color: rgba(var(--color-link-rgb), 0.2);
            font-weight: bold;

            &:has(~ ul)::after {
                content: "";
                position: absolute;
                top: 50%;
                right: 10px;
                transform: translateY(-50%);
                border-top: 5px solid transparent;
                border-bottom: 5px solid transparent;
                border-left: 5px solid white;

                transition: 0.2s ease-out;
            }
        }
    }
}