/* ===== Theme_SOSCUT_v2 Base ===== */
:root {
	--Primary-100:		 #F0E8FB;
	--Primary-200:		 #BF9FE9;
	--Primary-300:		 #A06FDF;
	--Primary-400:		 #803FD4;
    --Primary-500:       #600FC9;
    --Primary-600:       #4D0CA1;
    --Primary-700:       #3A0979;
    --Primary-800:       #260650;
    --Primary-900:       #130328;

	--Gray-50:           #FAF9FC;
	--Gray-100:          #F4F3F6;
	--Gray-200:          #E9E7EC;
	--Gray-300:          #D6D4DB;
	--Gray-400:          #A5A2A9;
	--Gray-500:          #817E85;
	--Gray-600:          #625F66;
	--Gray-700:          #444147;
	--Gray-800:          #2A282D;
	--Gray-900:          #19171A;

	--Red-50:			 #FBD9DE;
	--Red-100:			 #FACCD2;
	--Red-200:			 #F8B0BB;
	--Red-300:			 #F695A3;
	--Red-400:			 #F47A8B;
	--Red-500:			 #F25F74;
	--Red-600:			 #EC1C3A;
	--Red-700:			 #B30E26;
	--Red-800:			 #710918;
	--Red-900:			 #2F030A;

	--Yellow-50:		 #FFF6E0;
	--Yellow-100:		 #FEEEC3;
	--Yellow-200:		 #FFE4A2;
	--Yellow-300:		 #FFDB80;
	--Yellow-400:		 #FED15E;
	--Yellow-500:		 #FFC83D;
	--Yellow-600:		 #F9B200;
	--Yellow-700:		 #B78300;
	--Yellow-800:		 #755400;
	--Yellow-900:		 #322400;

	--Green-50:			 #F0FFCE;
	--Green-100:		 #E9FEB6;
	--Green-200:		 #DBFF87;
	--Green-300:		 #CDFF58;
	--Green-400:		 #BFFE29;
	--Green-500:		 #A4EB00;
	--Green-600:		 #8CC800;
	--Green-700:		 #699600;
	--Green-800:		 #466400;
	--Green-900:		 #233300;

	--Blue-50:			 #D6F3FD;
	--Blue-100:			 #C6EFFD;
	--Blue-200:			 #A6E6FC;
	--Blue-300:			 #86DDFB;
	--Blue-400:			 #66D4FA;
	--Blue-500:			 #46CCF9;
	--Blue-600:			 #07B8F4;
	--Blue-700:			 #0587B3;
	--Blue-800:			 #035672;
	--Blue-900:			 #012531;

	--White:             #FFFFFF;

    --sc-primary:        #3B2499;
    --sc-primary-light:  #EDE9F8;
	--sc-primary-100:    #F0E8FB;
    --sc-primary-border: rgba(59, 36, 153, 0.3);

    --sc-text:           #1A1A1A;
    --sc-text-muted:     #888888;
    --sc-text-disabled:  #C8C8C8;

    --sc-border:         #E4E4E4;
    --sc-bg:             #FFFFFF;
    --sc-bg-hover:       #F5F5F5;

    --sc-gnb-height:     80px;
    --sc-gnb-m-height:   60px;

    --sc-radius-pill:    100px;
    --radius-radius-full: 999px;
    --sc-radius-sm:      6px;
    --sc-radius-md:      10px;
    --sc-radius-xs:      8px;

    --sc-container-max:  1920px;
    --sc-container-pad:  88px;

    font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont,
                 'Apple SD Gothic Neo', sans-serif;

    /* Bootstrap font-family 변수 재정의 */
    --bs-body-font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont,
                           'Apple SD Gothic Neo', sans-serif;
}

*, *::before, *::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    color: var(--sc-text);
    background: var(--sc-bg);
    -webkit-font-smoothing: antialiased;
    font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont,
                 'Apple SD Gothic Neo', sans-serif;
}

#sc-wrap {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: var(--sc-bg);
}

#sc-content {
    flex: 1 0 auto;
    min-height: 520px;
}

a {
    color: inherit;
    text-decoration: none;
}

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

input, select, textarea, button {
    font-family: inherit;
}

.sc-container {
        max-width: var(--sc-container-max);
        margin: 0 auto;
        padding: 0 var(--sc-container-pad);
}

@media (max-width: 1600px) {
    :root {
        --sc-container-pad: 40px;
    }
}

@media (max-width: 1023px) {
    :root {
        --sc-container-pad: 20px;
    }
    /* drawer가 fixed이지만 모바일에서 수평 스크롤 유발 방지 */
    /* overflow-x: hidden 대신 clip 사용 — hidden은 스크롤 컨테이너를 생성해 position:sticky를 깨뜨림 */
    html, body {
        overflow-x: clip;
    }
}

/* FREE / POINT 배지 */
.v2-type-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: auto;
    height: 24px;
    padding: 0 6px;
    border: 0;
    border-radius: 4px;
    background: #E9E7EC;
    color: #625F66;
    text-align: center;
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: Pretendard, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: -0.18px;
    white-space: nowrap;
    flex-shrink: 0;
}

.v2-type-badge img {
    display: none;
}

.v2-type-badge--point {
    background: #F0E8FB;
    color: #803FD4;
}

/* 파비콘: 투명/밝은 로고가 흰 배경에서 사라지지 않도록 처리 */
#sc-wrap .v2-source-favicon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    aspect-ratio: 1 / 1;
    border-radius: var(--radius-radius-full, 999px);
    border: 0.5px solid var(--Gray-200, #E9E7EC);
    background: var(--Gray-50, #FAF9FC);
}

@media (max-width: 1023px) {
    #sc-wrap .v2-source-favicon {
        width: 16px;
        height: 16px;
    }
}

/* 공통 뒤로가기 아이콘 */
.sc-back-icon {
    display: block;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    filter: brightness(0) saturate(100%) invert(74%) sepia(5%) saturate(252%) hue-rotate(221deg) brightness(88%) contrast(87%);
}

/* 공통 아이콘 툴팁 */
#sc-wrap [data-sc-tooltip] {
    position: relative;
}

#sc-wrap [data-sc-tooltip]::after {
    content: attr(data-sc-tooltip);
    position: absolute;
    left: 50%;
    top: calc(100% + 8px);
    z-index: 1000;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: max-content;
    max-width: 180px;
    padding: 6px 8px;
    border-radius: 4px;
    background: #19171A;
    color: var(--White, #FFF);
    text-align: center;
    font-family: Pretendard, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 16px;
    letter-spacing: -0.18px;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -4px);
    transition: opacity 0.12s ease, transform 0.12s ease, visibility 0.12s ease;
}

#sc-wrap [data-sc-tooltip]:hover::after,
#sc-wrap [data-sc-tooltip]:focus-visible::after {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

#sc-wrap [data-sc-tooltip][data-sc-tooltip-pos="top"]::after {
    top: auto;
    bottom: calc(100% + 8px);
    transform: translate(-50%, 4px);
}

#sc-wrap [data-sc-tooltip][data-sc-tooltip-pos="top"]:hover::after,
#sc-wrap [data-sc-tooltip][data-sc-tooltip-pos="top"]:focus-visible::after {
    transform: translate(-50%, 0);
}

@media (hover: none), (max-width: 1023px) {
    #sc-wrap [data-sc-tooltip]::after {
        content: none;
    }
}

#nc_container { display: none !important; }
