html, body {
    font-family:
    "Pretendard",
    "Noto Sans KR",
    "Apple SD Gothic Neo",
    "Malgun Gothic",
    "맑은 고딕",
    sans-serif;
    letter-spacing: -0.02em;
}

html {
    overflow-x: hidden;
}

A:link      { color: #0066CC; text-decoration: none; }
A:visited   { color: #0066CC; text-decoration: none }
A:active    { text-decoration: none }
A:hover     { BACKGROUND-COLOR: none; text-decoration: none; Color: #FF0099}
div     { margin:auto; line-height:120%; text-align:center; max-width:100%; max-height:none; }
span  { font-size: 0.875em; line-height: 1.1em; color: #444444;}

a:hover img:not(.no-ani) {
    animation-name: shake;
    animation-duration: 0.5s;
    animation-iteration-count: 1;
}

/* 스크롤바 작은 이미지 흔들림 추가 */

#myScrollMenu a:hover img {
    animation: menuShake 0.5s ease-in-out 1 !important;
}

@keyframes menuShake {
    0%   { transform: rotate(0deg); }
    25%  { transform: rotate(-4deg); }
    50%  { transform: rotate(4deg); }
    75%  { transform: rotate(-2deg); }
    100% { transform: rotate(0deg); }
}

@keyframes shake {
    0%   { transform: rotate(0deg); }
    25%  { transform: rotate(-2deg); }
    50%  { transform: rotate(2deg); }
    75%  { transform: rotate(-1deg); }
    100% { transform: rotate(0deg); }
}

.product {position: relative; display: inline-block; margin: 0px;}
.product img {width: 100%; display: block;}
.sale-badge {position: absolute; top: 0px; left: 0px; background: #EB1B8B; color: #fff; padding: 6px 8px; font-size: 14px; font-weight: bold; border-radius: 12px 0px 12px 0px;}
.new-badge {position: absolute; top: 0px; left: 0px; background: #7B52EE; color: #fff; padding: 6px 8px; font-size: 14px; font-weight: bold; border-radius: 12px 0px 12px 0px;}
.ad-badge {position: absolute; top: 0px; left: 0px; background: #EB1B8B; color: #fff; padding: 6px 8px; font-size: 14px; font-weight: bold; border-radius: 0px 0px 12px 0px;}
.info-badge {position: absolute; top: 0px; left: 0px; background: #6BA147; color: #fff; padding: 6px 8px; font-size: 14px; font-weight: bold; border-radius: 12px 0px 12px 0px;}
.update-badge {position: absolute; top: 0px; right: 10px; background: #BAB0B0; color: #fff; padding: 6px 8px; font-size: 12px; border-radius: 0px 0px 12px 12px;}

#homeBtn {
    position: fixed;
    right: 10px;
    bottom: 144px;
    width: 56px;
    height: 56px;
    background: rgba(54, 90, 149, 0.9);
    color: white;
    text-align: center;
    line-height: 56px;
    border-radius: 50%;
    text-decoration: none;
    font-size: 0.8em;
}
#homeBtn:hover {
    background: rgba(54, 90, 149, 1);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

#topBtn {
    position: fixed;
    right: 10px;
    bottom: 20px;
    width: 56px;
    height: 56px;
    background: rgba(70, 70, 70, 0.9);
    color: white;
    text-align: center;
    line-height: 56px;
    border-radius: 50%;
    text-decoration: none;
}
#topBtn:hover {
    background: rgba(70, 70, 70, 1);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

#leftBtn1 {
    position: fixed;
    left: 6px;
    bottom: 144px;
    width: 56px;
    height: 56px;
    background: rgba(255, 51, 102, 0.9);
    color: white;
    text-align: center;
    line-height: 56px;
    border-radius: 50%;
    text-decoration: none;
    font-size: 0.8em;
}
#leftBtn1:hover {
    background: rgba(255, 51, 102, 1);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

#leftBtn2 {
    position: fixed;
    left: 6px;
    bottom: 82px;
    width: 56px;
    height: 56px;
    background: rgba(0, 102, 204, 0.9);
    color: white;
    text-align: center;
    line-height: 56px;
    border-radius: 50%;
    text-decoration: none;
    font-size: 0.8em;
}
#leftBtn2:hover {
    background: rgba(0, 102, 204, 1);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

#leftBtn3 {
    position: fixed;
    left: 6px;
    bottom: 20px;
    width: 56px;
    height: 56px;
    background: rgba(204, 0, 0, 0.9);
    color: white;
    text-align: center;
    line-height: 56px;
    border-radius: 50%;
    text-decoration: none;
    font-size: 0.8em;
}
#leftBtn3:hover {
    background: rgba(204, 0, 0, 1);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

#rightBtn {
    position: fixed;
    right: 10px;
    bottom: 82px;
    width: 56px;
    height: 56px;
    background: rgba(57, 57, 119, 0.9);
    color: white;
    text-align: center;
    line-height: 56px;
    border-radius: 50%;
    text-decoration: none;
    font-size: 0.8em;
}
#rightBtn:hover {
    background: rgba(57, 57, 119, 1);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

#homeBtn,
#rightBtn,
#leftBtn1,
#leftBtn2,
#leftBtn3,
#topBtn {
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition:
        opacity 0.4s ease,
        transform 0.4s ease,
        visibility 0.4s ease;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

#homeBtn.show,
#rightBtn.show,
#leftBtn1.show,
#leftBtn2.show,
#leftBtn3.show,
#topBtn.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.image-box {
    position: relative;
    display: inline-block;
    padding: 2px;
    border-radius: 14px;
    overflow: hidden;
}

.image-box::before {
    content: "";
    position: absolute;
    inset: -50%;
background: conic-gradient(
        #ff0080,
        #ff4500,
        #ffff00,
        #39ff14,
        #00ffff,
        #0080ff,
        #8b00ff,
        #ff00ff,
        #ff0080
    );
    animation: rotateLight 2s linear infinite;
}

.image-box::after {
    content: "";
    position: absolute;
    inset: 4px;
    background: #fff;
    border-radius: 8px;
    z-index: 1;
}

.image-box img {
    position: relative;
    display: block;
    border-radius: 8px;
    z-index: 2;
}

@keyframes rotateLight {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.lightning-flash {
    animation: lightningFlash 4s infinite;
}

@keyframes lightningFlash {
    0%, 94%, 100% {
        filter: brightness(1);
    }

    95% {
        filter: brightness(1.8);
    }

    96% {
        filter: brightness(1);
    }

    97% {
        filter: brightness(1.5);
    }

    98% {
        filter: brightness(1);
    }
}