.hidden{position: absolute; left: -1000%; top:0; width:1px; height: 1px; overflow: hidden;color: #fff}

.clearfix::before, .clearfix::after{content:""; display: block;}
.clearfix::after{clear:both;}
/***************************************/
/* RESET FILES */
/***************************************/
/* 전체 웹사이트 폰트 변경 */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,time,figure,article,nav,header,footer,hgroup,video,audio,aside,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td {

	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	vertical-align: baseline;
    box-sizing:border-box;
	-webkit-font-smoothing: subpixel-antialiased;
	font-smoothing: subpixel-antialiased;

    /* 기존 스타일이 있다면 유지하고, font-family만 추가합니다. */
	font-family:Montserrat;
	letter-spacing:-0.05em;
    /* sans-serif는 Montserrat 로딩 실패 시 대비 폰트입니다. */
}

/* 필요하다면 H 태그에도 명시적으로 적용 */
h1, h2, h3, h4, h5, h6 {
    font-family: Montserrat;
}

/* ======================================================== */
/* CSS: 부드러운 스크롤 활성화 (가장 간단한 방법) */
/* ======================================================== */
html {
    /* ⭐ 이 한 줄만 추가하면 브라우저가 자동으로 처리해 줌 ⭐ */
    scroll-behavior: smooth; 
}

ol,ul {	list-style: none;}
table {	border-collapse: separate;	border-spacing: 0;}/* tables still need 'cellspacing="0"' in the markup */
caption,th,td {	text-align: left;	font-weight: normal;}
figure,article,header,footer,nav,hgroup,video,audio,aside {display: block;}
/* mobile */
/*input, textarea{ -webkit-appearance: none; -webkit-border-radius:0px; border-radius:0px;}*/ /*reset mobile default style*/
body,textarea:focus,input:focus,a:focus {-webkit-tap-highlight-color: rgba(255, 255, 255, 0);}
html{-ms-text-size-adjust: none;-webkit-text-size-adjust: none;text-size-adjust: none;}

::selection { background: #000; color:#fff;}
::-moz-selection { background: #000; color:#fff;}

/***************************************/
/* WORDPRESS CORE */
/* Copy of style_editor.css */
/***************************************/

/* MOBILE RESET */

input[type=text],input[type=tel],input[type=email],input[type=password],input[type=url],input[type=submit],textarea{-webkit-appearance:none;border:1px solid #ddd;border-radius:inherit;background-clip: padding-box;}
input[type=radio]{border-radius:100%;}

textarea:focus,input[type=text]:focus,input[type=tel]:focus,input[type=email]:focus,input[type=password]:focus,input[type=url]:focus{border-color:#dc382c !important; outline:none}

.post-content p{margin-bottom: 0 !important}

#content{margin-bottom: 0 !important}

@import url('https://fonts.googleapis.com/css?family=Montserrat:400,500,600,700,800');
@import url('https://cdn.rawgit.com/openhiun/hangul/14c0f6faa2941116bb53001d6a7dcd5e82300c3f/nanumbarungothic.css');
@import url('https://fonts.googleapis.com/css?family=Nanum+Myeongjo');
@import url('https://fonts.googleapis.com/css?family=Titillium+Web:400,700');
/*
* Noto Sans KR (korean) http://www.google.com/fonts/earlyaccess
 */

@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 100;
  src: url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Thin.woff2) format('woff2'),
       url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Thin.woff) format('woff'),
       url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Thin.otf) format('opentype');
}
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 300;
  src: url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Light.woff2) format('woff2'),
       url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Light.woff) format('woff'),
       url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Light.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans KR';
   font-style: normal;
   font-weight: 400;
   src: url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Regular.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Regular.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Regular.otf) format('opentype');
 }
@font-face {
   font-family: 'Noto Sans KR';
   font-style: normal;
   font-weight: 500;
   src: url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Medium.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Medium.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Medium.otf) format('opentype');
 }
@font-face {
   font-family: 'Noto Sans KR';
   font-style: normal;
   font-weight: 700;
   src: url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Bold.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Bold.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Bold.otf) format('opentype');
 }
@font-face {
   font-family: 'Noto Sans KR';
   font-style: normal;
   font-weight: 900;
   src: url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Black.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Black.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Black.otf) format('opentype');
 }

/* ----------------------------------------------- */
/* ⭐⭐ 여백 ⭐⭐ */
/* ----------------------------------------------- */
 
/* 위아래 바깥 여백(Margin)을 넓히는 클래스 */
.nbsp-y-50 {
  margin-top: 40px;    /* 수치는 원하는 대로 조절 */
  margin-bottom: 40px;
}

/* 위아래 안쪽 여백(Padding)을 넓히는 클래스 */
.padding-y-50 {
  padding-top: 50px;
  padding-bottom: 50px;
}

/* ----------------------------------------------- */
/* ⭐⭐ 버튼 ⭐⭐ */
/* ----------------------------------------------- */

/* --- 버튼 CSS 클래스 정의 --- */
.wrapper { display: flex; flex-direction: column; gap: 8px; }
/* 공통 스타일 */
.btn {
	/* inline-flex를 써야 부모 너비를 다 차지하지 않고 글자만큼만 차지함 */
	display: inline-flex; 
	align-items: center;
	justify-content: center;
	
	/* 가로 너비를 자동으로 설정 */
	width: auto;
	min-width: fit-content;
	
	/* 내부 여백을 주어 글자와 테두리 사이 간격 유지 */
	padding: 10px 20px;
	
	cursor: pointer;
	transition: all 0.2s ease;
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap; /* 글자가 버튼 안에서 줄바꿈되지 않도록 설정 */
	border: 1px solid transparent;
	border-radius: 8px;
}

/* 1. Simple Outline */
.btn-simple {
	background: white;
	border-color: #d1d5db;
	color: #4b5563;
	border-radius: 4px;
}
.btn-simple:hover { background: #f9fafb; }

/* 2. Pill Shape */
.btn-pill {
	background: white;
	border-color: #d1d5db;
	color: #374151;
	border-radius: 9999px;
	padding: 8px 24px;
}
.btn-pill:hover { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); }

/* 3. Soft Shadow (Elevated) */
.btn-elevated {
	background: white;
	border-color: #e5e7eb;
	color: #374151;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.btn-elevated:hover { box-shadow: 0 4px 6px rgba(0,0,0,0.05); }

/* 4. Bold Border */
.btn-bold {
	background: white;
	border: 2px solid #1f2937;
	color: #1f2937;
	font-weight: bold;
	border-radius: 4px;
}
.btn-bold:hover { background: #1f2937; color: white; }

/* 5. Ghost */
.btn-ghost {
	background: transparent;
	color: #9ca3af;
}
.btn-ghost:hover { border-color: #d1d5db; color: #4b5563; border-radius: 4px; }

/* 6. Colorful Gradient */
.btn-gradient {
	background: linear-gradient(to right, #f97316, #ec4899);
	color: white;
	font-weight: bold;
	border-radius: 12px;
	border: none;
	box-shadow: 0 10px 15px -3px rgba(249, 115, 22, 0.2);
}
.btn-gradient:hover { opacity: 0.9; transform: scale(0.98); }

/* 7. Neon Glow */
.btn-neon {
	background: #9333ea;
	color: white;
	border-radius: 9999px;
	border: none;
}
.btn-neon:hover { box-shadow: 0 0 15px rgba(147, 51, 234, 0.6); }

/* 8. Disabled */
.btn-disabled {
	background: #f9fafb;
	border-color: #e5e7eb;
	color: #d1d5db;
	cursor: not-allowed;
	border-radius: 4px;
}

/* 9. Dashed */
.btn-dashed {
	background: white;
	border: 2px dashed #d1d5db;
	color: #6b7280;
	border-radius: 8px;
}
.btn-dashed:hover { border-color: #9ca3af; color: #374151; }

/* ----------------------------------------------- */
/* ⭐⭐ PC/데스크톱용 버튼 배치 ⭐⭐ */
/* ----------------------------------------------- */

/* 기본적으로 PC에서는 모바일용 버튼을 숨김 */
.mobile-only {
	display: block !important;
}

@media (min-width: 768px) {
	.mobile-only {
	    display: none !important;
	}
}


/* --- 핵심: desktop-only 설정 --- */
/* 기본적으로(모바일) 숨김 */
.desktop-only {
	display: none !important;
}

/* 768px 이상(데스크톱)에서만 표시 */
@media (min-width: 768px) {
	.desktop-only {
		display: block !important;
	}
}

.img-radius {
border-radius: 10px;
}

/* 기기별 가시성 제어 (Show/Hide) */
/* PC 전용 */
.pc-only { display: block !important; }
.tab-only, .mob-only { display: none !important; }

/* 태블릿 (1024px 이하) */
@media (max-width: 1024px) {
    .pc-only { display: none !important; }
    .tab-only { display: block !important; }
    .mob-only { display: none !important; }
}

/* 모바일 (768px 이하) */
@media (max-width: 768px) {
    .pc-only, .tab-only { display: none !important; }
    .mob-only { display: block !important; }
}

.accent {
    font-weight: 600;
    margin: 0 2px;
}

.titlebar {
    width: 80px;              /* w-20 (5rem = 80px) */
    height: 2px;              /* h-0.5 (2px) */
    background-color: #D1D5DB; /* bg-gray-300 색상 */
    margin-top: 40px;         /* mt-10 (2.5rem = 40px) */
    margin-bottom: 20px;      /* 직접 지정한 하단 여백 */
    margin-left: auto;        /* mx-auto (중앙 정렬) */
    margin-right: auto;       /* mx-auto (중앙 정렬) */
}


/* 기기별 스페이서 공통 */
.nbsp {
    display: block;
    width: 100%;
    /* 변수 --h가 없으면 기본값으로 20px 사용 */
    height: var(--h, 20px); 
}

/* 1. 모바일 전용 (767px 이하) */
@media (max-width: 767px) {
    .mob-nbsp { display: block; height: var(--h, 20px); }
    .tab-nbsp, .pc-nbsp { display: none !important; }
}

/* 2. 태블릿 전용 (768px ~ 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
    .tab-nbsp { display: block; height: var(--h, 20px); }
    .mob-nbsp, .pc-nbsp { display: none !important; }
}

/* 3. PC 전용 (1024px 이상) */
@media (min-width: 1024px) {
    .pc-nbsp { display: block; height: var(--h, 20px); }
    .mob-nbsp, .tab-nbsp { display: none !important; }
}