header {
    width: 100%;
    height: 7rem;
    z-index: 999;
    box-sizing: border-box;
    box-shadow: 0 0.2vh 0.5vh rgba(0, 0, 0, 0.1);
    font-family: 'Pretendard Variable', 'Pretendard', sans-serif;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 0 15%;
    align-items: center;
    background-color: #60E0E0;
}

header a,
header a:link,
header a:visited,
header a:hover,
header a:active {
    color: inherit;
    text-decoration: none;
    background: none;
    outline: none;
    border: none;
    box-shadow: none;
    cursor: pointer;
}

header .left-section {
    display: flex;
    align-items: center;
    gap: 2rem;
}

header a {
    text-decoration: none;
}

header .logo-container {
  display: flex;
}

header .logo-container img {
  display: flex;
  width: 10rem;
  height: auto;
}

header ul {
    display: flex;
    align-items: center;
    gap: 2.8rem;
    list-style: none;
    margin: 0;
    padding-top: 3px;
    font-family: 'Montserrat', sans-serif;
}

#shop-header ul li,
#shop-header ul li a {
    font-family: 'Montserrat', sans-serif;
}

header .cart-icon-container img {
  width: 2rem;
  height: auto;
}

header .cart-icon-container {
    position: relative;
}

header .cart-icon-container .cart-count {
    position: absolute;
    bottom: 0;
    right: 0;
    background: red;
    color: white;
    border-radius: 50%;
    padding: 3px 6px;
    font-size: 0.7rem;
    font-weight: bold;
}

/* 기존 유지 */
header .cart-icon-container {
    position: relative;
}

header .cart-icon-container .cart-count {
    position: absolute;
    bottom: 0;
    right: 0;
    background: red;
    color: white;
    border-radius: 50%;
    padding: 3px 6px;
    font-size: 0.7rem;
    font-weight: bold;
}

@keyframes cart-bounce {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.4); }
    100% { transform: scale(1); }
}

.cart-icon-container.bounce {
    animation: cart-bounce 0.3s ease;
}

.mobile-menu-toggle {
    display: flex;
    width: 2rem;
    height: 2rem;
    display: none;
}



@media (max-width: 1920px) {

}

/* 노트북 & 테블릿 가로 (1024px ~ 1279px) */
@media all and (min-width:1024px) and (max-width:1279px) {

}

/* 테블릿 가로 (768px ~ 1023px) */
@media all and (min-width:768px) and (max-width:1023px) {
    header .bottom .logo-container img {
        width: 14rem;
    }

    header .menu-container > ul > li > a {
        font-size: 0.9rem;
    }

    header .bottom nav ul li ul li {
        font-size: 0.9rem;
    }
}

@media (max-width: 767px) {
    header {
        flex-direction: row;
        padding: 0 2vw;
    }

    header .top {
        display: none;
    }

    header .bottom {
        padding: 0.5rem 4vw 0.4rem;
        justify-content: space-between;
        width: 100%;
    }

    header .bottom .menu-container {
        display: none;
    }

    .mobile-menu-toggle {
        display: flex;
        width: 2rem;
        height: 2rem;
        display: flex;
    }

    .left-section {
        gap: 1rem;
    }

    header ul {
        gap: 1rem;
        font-size: x-small;
        white-space: nowrap;
    }

    header .mobile-menu.open {
        padding: 3rem 0;
    }

    header nav {
        overflow: scroll;
    }

    header nav a, .menu-item > a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 0 1rem;
        position: relative;
    }

    header nav .menu-item > a.open {
        color: #60E0E0;
    }

    header nav .menu-item > a::after {
        content: '';
        width: 10px;
        height: 10px;
        border-top: 2px solid #121212;
        border-right: 2px solid #121212;
        display: inline-block;
        transform: rotate(135deg);
        position: absolute;
        bottom: 0.5rem;
        left: 90%;
    }

    header nav .menu-item > a.open::after {
        transform: rotate(-45deg);
        border-top: 2px solid #60E0E0;
        border-right: 2px solid #60E0E0;
        top: 0.5rem;
    }

    header nav .menu-item ul {
        display: none;
        width: 100vw;
        background-color: #f0f0f0;
        list-style: none;
    }

    header nav .menu-item ul li {
        padding: 0.2rem 0.5rem;
    }

    header nav .menu-item ul li a {
        display: flex;
        align-items: center;
        padding: 0 1rem;
    }
}

/* 모바일 세로 (~ 479px) */
@media all and (max-width:479px) {
    header .bottom {
        gap: 8rem;
    }

    header .bottom .logo-container img {
        width: 14rem;
    }
}