/* 레이아웃 CSS */


@media all and (max-width:1024px) { 
    .gnb_wrap .inner {padding-left: 0px !important; padding-right: 0px !important;}
}


/* 앱(WebView)에서만 안전영역 적용: body.app 클래스는 아래 스크립트로 부여 */
body.app {
  padding-top: env(safe-area-inset-top);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  padding-bottom: env(safe-area-inset-bottom);
}

/* 상단 고정 요소(실제 사이트 클래스명에 맞게 추가하세요) */
.hd, .hd_wrap, header, .site-header, .gnb, .top-ticker, .fixed-top {
  position: fixed;
  top: env(safe-area-inset-top, 0px);  /* ← 상태바만큼 내려앉힘 */
  left: 0;
  right: 0;
  z-index: 1000;
}

/* 고정 헤더 높이만큼 본문을 아래로 밀기 (헤더 높이를 실제 값으로) */
body.app main,
body.app .page-wrap,
body.app #container {
  /* 예: 헤더가 56px이면 아래처럼 */
  margin-top: calc(env(safe-area-inset-top, 0px) + 56px);
}


.header-bar {width: 100%;height:73px;border-bottom: 1px solid #c3c3c3;background-color: #f9f9f9;}
.header-content {max-width: 1400px;margin: 0 auto;text-align: right;}
.header-content .left-text {float: left; color:#444444;padding-top:2px;}
.header-content .left-text2 {float: left; color:#444444;padding-top:7px;padding-left:15px;padding-right:0px;}
.header-content .left-text:hover {float: left; color:#9560e6;padding-top:2px;}
.header-content .left-text2:hover {float: left; color:#444444;padding-top:7px;padding-left:15px;padding-right:0px;}
.header-content a {text-decoration: none;color: inherit;}
.header-content a span {color: #ff0000;}
.header-content .right-text {float: right; color:#444444;padding-top:7px;}
.header-content .right-text2 {float: right;color:#ffffff;background-color:#9560e6;border-radius:3px;padding-left:5px;padding-right:5px;padding-top:3px;padding-bottom:3px;margin-top:3px;font-size:13px;}
.header-content .right-text:hover {float: right; color:#9560e6;padding-top:7px;}
.header-content .right-text2:hover {float: right;color:#ffffff;background-color:#7a40d2;border-radius:3px;padding-left:5px;padding-right:5px;padding-top:3px;padding-bottom:3px;margin-top:5px;}

.header-content .divider {float: right;  color:#c3c3c3;padding-top:7px;padding-left:12px;padding-right:12px;}
.header-content .divider2 {float: right;  color:#c3c3c3;padding-top:7px;padding-left:5px;padding-right:5px;}

.spacer {
	clear:both;width: 100%;height: 20px;
}


.logo_wrap img {width:218px;}

/* 전체 wrapper */
.top-wrapper {padding-top: 10px; padding-left: 380px;}
.top-nav {float: right; margin-top: -20px; height: 73px;}
.top-nav ul {list-style: none; padding: 0; margin: 0;}
.nav-item {float: right; text-align: center; font-size: 16px; position: relative;}
.nav-item a {text-decoration: none; color: #333; padding-right: 10px; display: inline-block;}
.nav-item a:hover {color: #444444;}
.nav-item2 {float: right; text-align: center; padding-top: 31px; font-size: 16px; position: relative;}
.nav-item2 a {text-decoration: none; color: #333; padding-right: 20px; display: inline-block;}
.first-join-text {margin-top: -10px;}
.top_search-box {display: flex; align-items: center;}
.top_search-input {width: 420px; height: 50px; border: 2px solid #c3c3c3; border-radius: 25px 0 0 25px; border-right: 0; padding-left: 50px; background-image: url('/img/class_01.png'); background-repeat: no-repeat; background-position: 15px center; background-size: 24px 24px; font-size: 19px;}
.top_search-input::placeholder {color: #8b8b8b; opacity: 1;}
.top_search-input:focus {outline: none; border: 2px solid #cbcfed; background-image: url('/img/icon_view.png');}
.top_search-input:focus::placeholder {color: #111111;}
.search-button {background-color: #9560e6; color: #ffffff; font-size: 23px; line-height: 50px; width: 75px; text-align: center; border-radius: 0 25px 25px 0; border: none; cursor: pointer;}
.search-button:hover {background-color:#7a40d2;}

.top_menu_info {clear:both;width:100%;height:54px;background-color:#7a40d2;border-top:2px solid #622bb5;overflow:hidden;margin: 0 auto;text-align:center;}



.menu-item {position: relative;display: inline-block;}					
.menu-item a {padding-left:0px;padding-right:0px;font-family: 'Giants-Regular';}

.cbp-hrsub1 {display: none;position: fixed;top: 100%;margin:0 auto;width: 100%;background: white;z-index: 200;height:246px;top:231px;border-bottom:7px solid #bd92ff;margin-top:10px;}
.cbp-hrsub2 {display: none;position: fixed;top: 120px;margin:0 auto;width: 100%;background: white;z-index: 200;height:246px;top:53px;border-bottom:7px solid #bd92ff;border-top:0px;}



#contents_wrap {padding-top:254px;}

#contents_wrap2 {padding-top:104px;}


/* 특정 위치에 배치될 비디오 */
.video-background {	
	
	position:absolute;
	margin-top: 254px;      /* 비디오를 화면 상단에서 50px 떨어지게 설정 */
	left: 0px;    /* 비디오를 화면 왼쪽에서 100px 떨어지게 설정 */
	width: 100%;   /* 비디오의 너비 설정 */
	height: 560px;  /* 비디오의 높이 설정 */
	object-fit: cover; /* 비디오가 영역에 맞게 채워지도록 설정 */
	z-index: 1;   /* 비디오가 다른 콘텐츠 뒤에 배치되도록 설정 */
	/* filter: blur(1px); /* 비디오를 흐리게 설정 */
	/*filter: brightness(0.5) contrast(250%); /* 비디오의 밝기 줄이기 */ /* 비디오 대비 증가 */
	
	/*opacity: 0.5;   /*비디오의 투명도를 50%로 설정 */
}

.overlay1 {   
	position:absolute;
	margin-top: 254px;      /* 비디오를 화면 상단에서 50px 떨어지게 설정 */
	width: 100%;   /* 비디오의 너비 설정 */
	height: 560px;  /* 비디오의 높이 설정 */
	background: rgba(0, 0, 0, 0.2); /* 검정색으로 반투명한 오버레이 추가 (0.5는 투명도) */
	z-index: 2; /* 비디오와 콘텐츠 사이에 배치 */
}


.custom-menu-container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    overflow-x: auto;
	display:none;
	height:122px;
}

.custom-menu-wrapper {
    width: 100%;
}
 
.custom-menu-list {
    display: flex;
    list-style-type: none;
    margin: 0;
    padding: 0;
    white-space: nowrap;

	display: flex;
    flex-wrap: nowrap;
    overflow-x: auto; /* 테이블이 넘칠 때 가로 스크롤 활성화 */
	overflow-y: hidden; /* 세로 스크롤을 숨깁니다 */
}

.custom-menu-list::-webkit-scrollbar {
    height: 8px; /* 스크롤바의 높이를 조정 (굵기) */
}

.custom-menu-list::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2); /* 스크롤바의 색상 */
    border-radius: 10px; /* 스크롤바의 둥근 모서리 */
}

.custom-menu-list::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.1); /* 스크롤 트랙 배경 */
}

.custom-menu-item {font-size: 18px;line-height:48px;}
.custom-menu-item a {color:#ffffff;font-weight:500;font-family: 'Escoredream';}
.custom-menu-item-1 {padding-left: 40px;padding-right: 60px;}
.custom-menu-item-2,
.custom-menu-item-3,
.custom-menu-item-4,
.custom-menu-item-5,
.custom-menu-item-6,
.custom-menu-item-7 {    
}
.custom-menu-item-9 {
    padding-right: 60px;
}
.custom-menu-item-8 {padding-right: 0;}

.custom-menu-item img {padding-right: 0;}


#small_hotpick {float:left;padding-left:20px;display:none;padding-right:40px;}

.m_top_login {display:none;float:right;margin-top:21px;margin-right:5px;z-index:100;}

/* 📌 1400px 이하일 때 상단 바 숨기기 */
@media screen and (max-width: 1400px) {
    .top-nav {display: none;}
	/*.video-background {display: none;}
	.overlay1 {display: none;}*/
	
	
	
}
@media screen and (max-width: 1040px) {

	.m_top_login {display:block;float:right;margin-top:21px;margin-right:5px;z-index:100;}


	.top_menu_info {clear:both;width:100%;height:52px;overflow:hidden;border-top:2px solid #622bb5;margin: 0 auto;text-align:center;border-bottom:1px solid #c3c3c3;}
	.custom-menu-item a {font-size: 16px;color:#353535;font-weight:500;font-family: 'Escoredream';}
	.custom-menu-list a {color:#ffffff;}

    .top-wrapper {display: none;}
	/*.top_menu_info {height:1px;overflow:hidden;}*/
	.spacer {display:none;}
	.logo_wrap {float:left;padding:10px;}
	.header-content {display:none;}
	.header-bar {width: 100%;height:31px;border-bottom: 1px solid #c3c3c3;background-color: #ffffff;}
	
	.custom-menu-container {display:block;}
	
	#contents_wrap {padding-top:176px;}
	#contents_wrap2 {padding-top:48px;}
	
	/* 특정 위치에 배치될 비디오 */
	.video-background {	
		
		position:absolute;
		margin-top: 176px;      /* 비디오를 화면 상단에서 50px 떨어지게 설정 */
		left: 0px;    /* 비디오를 화면 왼쪽에서 100px 떨어지게 설정 */
		width: 100%;   /* 비디오의 너비 설정 */
		height: 540px;  /* 비디오의 높이 설정 */
		object-fit: cover; /* 비디오가 영역에 맞게 채워지도록 설정 */
		z-index: 1;   /* 비디오가 다른 콘텐츠 뒤에 배치되도록 설정 */
		/* filter: blur(1px); /* 비디오를 흐리게 설정 */
		/*filter: brightness(0.5) contrast(250%); /* 비디오의 밝기 줄이기 */ /* 비디오 대비 증가 */
		
		/*opacity: 0.5;   /*비디오의 투명도를 50%로 설정 */
	}

	.overlay1 {   
		position:absolute;
		margin-top: 176px;      /* 비디오를 화면 상단에서 50px 떨어지게 설정 */
		width: 100%;   /* 비디오의 너비 설정 */
		height: 540px;  /* 비디오의 높이 설정 */
		background: rgba(0, 0, 0, 0.5); /* 검정색으로 반투명한 오버레이 추가 (0.5는 투명도) */
		z-index: 2; /* 비디오와 콘텐츠 사이에 배치 */
	}
	
	#big_hotpick {display:none;}
	#big_hotpick_padding {display:none;}


	#small_hotpick {display:block;padding-right:0px;}

	
	
}
@media screen and (max-width: 768px) {

.m_top_login {display:block;float:right;margin-top:21px;margin-right:5px;z-index:100;}
	
	.top_menu_info {clear:both;background-color:#ffffff;width:100%;height:52px;overflow:hidden;border-top:2px solid #9560e5;margin: 0 auto;text-align:center;border-bottom:1px solid #9560e5;}
	
	.custom-menu-item a {font-size: 16px;color:#353535;font-weight:500;font-family: 'Escoredream';}

	.header-content .left-text {float: left; color:#444444;padding-top:2px;font-size:12px;}
	.header-content .left-text2 {float: left; color:#444444;padding-top:7px;padding-left:5px;padding-right:0px;font-size:12px;}
	.header-content .left-text:hover {float: left; color:#9560e6;padding-top:2px;}
	.header-content .left-text2:hover {float: left; color:#c3c3c3;padding-top:7px;padding-left:5px;padding-right:0px;}

	.header-content .right-text {float: right; color:#444444;padding-top:7px;font-size:11px;}
	.header-content .right-text2 {float: right;color:#ffffff;background-color:#9560e6;border-radius:3px;padding-left:5px;padding-right:5px;padding-top:3px;padding-bottom:3px;margin-top:5px;font-size:11px;}
	.header-content .right-text:hover {float: right; color:#9560e6;padding-top:7px;}
	.header-content .right-text2:hover {float: right;color:#ffffff;background-color:#7a40d2;border-radius:3px;padding-left:5px;padding-right:5px;padding-top:3px;padding-bottom:3px;margin-top:5px;}

	.logo_wrap {clear:both;width:120px;text-align:center;margin-top:-60px;left:50%;}
	
	.logo_wrap a img {width:120px;margin-left:-160px;}
	
	.custom-menu-item-1 {
		padding-left: 20px;
		padding-right: 30px;
	}

	.custom-menu-item-2,
	.custom-menu-item-3,
	.custom-menu-item-4,
	.custom-menu-item-5,
	.custom-menu-item-6,
	.custom-menu-item-7 {
		padding-right: 30px;
	}
	
	.top_menu_bar_01 {display:none;}

	#small_hotpick img {height:31px;}

}


.hover-img-link {width:100%;font-size:16px;line-height:220%;font-family: 'Escoredream';}
.hover-img-link:hover {color:#7b3fd3;}

.t_speech-bubble {
	float:right;
	display:inline-block;
	position:relative;
	padding:4px 12px;
	font-size:12px;
	line-height:1.5;
	font-weight:400;

	/* ✅ 메탈릭 골드 텍스트 */
	color: #ffffff;
	background: linear-gradient(135deg, #f9d976, #f5b741, #e89b1c);
	border-radius:6px;
	border:1px solid #d9a441;
	box-shadow:0 2px 6px rgba(0,0,0,0.35);

	/* ✅ 금속 느낌을 살리는 텍스트 효과 */
	text-shadow:
		0px 0px 2px rgba(255,255,255,0.8),
		0px 0px 3px rgba(255,255,255,0.4),
		0px -1px 2px rgba(0,0,0,0.5);

	margin-top:2px;
	vertical-align:middle;
}

/* 반짝임 효과(적당히 약하게 유지) */
.t_speech-bubble::after {
	content:"";
	position:absolute;
	top:0;
	left:-80%;
	width:40%;
	height:100%;
	background:linear-gradient(
		120deg,
		rgba(255,255,255,0) 0%,
		rgba(255,255,255,0.55) 50%,
		rgba(255,255,255,0) 100%
	);
	animation:shine2 2.6s infinite;
}

@keyframes shine2 {
	0% { left:-80%; }
	100% { left:120%; }
}
					
					
:root{
    --vip-main:#7A44FF;
    --vip-main-dark:#6128DA;
    --vip-bg-light:#F3EEFF;
}

.vip-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.45);
    z-index:9999;
    display:none;
    align-items:center;
    justify-content:center;
    animation:vipFadeIn .3s ease-out;
    padding:10px;
}

.vip-popup{
    width:100%;
    max-width:430px;
    background:#fff;
    border-radius:16px;
    border:2px solid var(--vip-main);
    box-shadow:0 0 25px rgba(122,68,255,0.25);
    text-align:center;
    padding:28px 22px 22px;
    position:relative;
    animation:vipPopIn .3s ease-out;
    box-sizing:border-box;
    max-height:calc(100vh - 40px);
    overflow-y:auto;
}

.vip-popup-close{
    position:absolute;
    top:12px;
    right:12px;
    background:none;
    border:none;
    font-size:22px;
    cursor:pointer;
    color:#6b7280;
    transition:.2s;
}

.vip-popup-close:hover{
    color:var(--vip-main);
    transform:scale(1.1);
}

.vip-popup-title{
    font-size:20px;
    font-weight:800;
    margin-bottom:8px;
    color:#1e1e2e;
}

.vip-popup-product{
    font-size:15px;
    font-weight:600;
    margin-bottom:10px;
    color:var(--vip-main-dark);
}

.vip-remain-box{
    background:var(--vip-bg-light);
    padding:14px;
    border-radius:12px;
    border:1px solid #e2d9ff;
    margin-bottom:16px;
}

.vip-popup-days{
    font-size:15px;
    color:#44307F;
}

.vip-popup-days strong{
    font-size:26px;
    font-weight:900;
    color:var(--vip-main);
    animation:vipPulse 1.2s infinite;
}

.vip-popup-text{
    font-size:13px;
    color:#4B4B4B;
    line-height:1.5;
    margin-bottom:15px;
}

.vip-popup-actions{
    display:flex;
    gap:10px;
}

.vip-btn{
    flex:1;
    padding:10px 0;
    border-radius:8px;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    border:none;
    transition:.15s;
}

.vip-btn-primary{
    background:var(--vip-main);
    color:#fff;
    box-shadow:0 4px 12px rgba(122,68,255,0.35);
}

.vip-btn-primary:hover{
    background:var(--vip-main-dark);
}

.vip-btn-ghost{
    background:#e9e9e9;
    color:#3d3d3d;
}

.vip-btn-ghost:hover{
    background:#dcdcdc;
}

@media(max-width:480px){
    .vip-popup-title{font-size:18px;}
    .vip-popup-days strong{font-size:22px;}
}

.vip-extend-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.45);
    z-index:10000;
    display:none;
    justify-content:center;
    align-items:center;
    padding:10px;
}

.vip-extend-modal-content{
    width:100%;
    max-width:800px;
    background:#fff;
    border-radius:12px;
    box-shadow:0 0 25px rgba(0,0,0,.3);
    overflow:auto;
    max-height:90vh;
    position:relative;
    padding:20px;
}

.vip-extend-modal-close{
    position:absolute;
    top:8px;
    right:20px;
    border:none;
    background:none;
    font-size:22px;
    cursor:pointer;
    color:#555;
}

@keyframes vipFadeIn{
    from { opacity:0; }
    to   { opacity:1; }
}

@keyframes vipPopIn{
    from { transform:scale(.95); opacity:0; }
    to   { transform:scale(1); opacity:1; }
}

@keyframes vipPulse{
    0%   { transform:scale(1); }
    50%  { transform:scale(1.05); }
    100% { transform:scale(1); }
}