@charset "UTF-8";
@import url(font-awesome.min.css);
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400|Passion+One:400");

/*
	Full Motion by TEMPLATED
	templated.co @templatedco
	Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
*/

/* Reset */

	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline;
	}

	article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
		display: block;
	}

	body {
		line-height: 1;
	}

	ol, ul {
		list-style: none;
	}

	blockquote, q {
		quotes: none;
	}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

	table {
		border-collapse: collapse;
		border-spacing: 0;
	}

	body {
		-webkit-text-size-adjust: none;
	}

/* Box Model */

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

/* Basic */

	@-ms-viewport {
		width: device-width;
	}

	body {
		-ms-overflow-style: scrollbar;
		background: #ffffff;
	}

	/*@media screen and (max-width: 480px) {

		html, body {
			min-width: 320px;
		}

	}*/

	body {
		-webkit-text-size-adjust: none;
	}

		body.is-loading *, body.is-loading *:before, body.is-loading *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

/* Type */

	body, input, select, textarea {
		color: #666666;
		font-family: "Notosans", sans-serif;
		font-size: 14pt;
		font-weight: 300;
		line-height: 1.65;
	}

		@media screen and (max-width: 18800px) and (min-width: 1790px)  {

			#main .inners {
				font-family: "Notosans", sans-serif;
				display: flex;
				flex-wrap: wrap;
				width: 100%;
				max-width: 98%;
				justify-content: center;
				margin: 0 auto;
			}

			#banner {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				/*padding: 8em 4em 6em 4em;*/
				padding: 4em 4em 3em 4em;
				margin-top: -1em;
				min-height: 150px;
				max-height: 200px;
				background-image: url("../../images/banner.jpg");
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				border-top: 0;
				position: relative;
				text-align: center;
				overflow: hidden;
			}

			.thumbnails {
				display: grid;
				/* 3열 고정: 각 열의 너비를 420px로 지정하고 gap은 1.6em */
				grid-template-columns: repeat(4, 420px);
				gap: 1.6em;
				/* 그리드 전체를 가운데로 정렬 */
				justify-content: center;
			}
		
			.box {
				font-size: 12pt !important;
				font-weight: bold;
				display: flex;
				flex-direction: column;
				overflow: hidden; /* ✅ 넘치는 요소 방지 */
				width: calc((100% - (1.6em * 3)) / 4); /* ✅ 한 줄에 4개 유지 */
				max-width: 420px;
				min-width: 420px;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 260px;
				min-height: 260px;
				max-height: 260px;
				overflow: hidden;
				position: relative;
			}
		
			.box .image.fit img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background-color: #f5f5f5;
			}
		
			.box:hover .image.fit img {
				transform: scale(1.05);
			}
		
			.box .inner {
				padding: 1.0em 0.8em 0em 0.8em;
				background: white;
				cursor: pointer;
				-webkit-user-select: none;
				-ms-user-select: none;
				-moz-user-select: none;
				user-select: none;
			}
		
			.box .inner .product-name {
				color: #333 !important;
				font-size: 1.0em !important;
				font-weight: 500;
				margin: 0.8em 0 0em 0;
				padding-top: 0.5em;
				text-align: right;
			}
		
			.box .inner h3 {
				padding: 0;
				margin: 0;
				font-size: 1.3em;
				color: #333;
				font-weight: 700;
				line-height: 1;
			}
		
			.box .inner h3 .category {
				color: #FF69B4;
				font-size: 0.6em;
				margin-left: 1.3em;
				font-weight: 500;
				border: 1px solid #FF69B4;
				border-radius: 20px;
				padding: 1px 10px;
				display: inline-block;
				padding-top: 0.2em;
			}
		
			.box .inner p {
				font-size: 0.9em;
				margin: 0;
				padding: 0;
				color: #666;
				font-weight: 500;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner p:nth-child(2) {
				color: #D4AF37;
				margin-top: 0.05em;
				margin-bottom: -0.4em;
				font-weight: 600;
			}
			
			.box .inner p:nth-child(3) {
				margin-top: 1.2em;
				margin-bottom: -0.2em;
				font-size: 0.75em;
			}
		
			.box .inner p:nth-child(4) {
				color: #000000;
				font-size: 1.3em;
				font-weight: 600;
				margin-top: 0.8em;
				text-align: right;
			}
		
			.box .inner p:nth-child(4) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: bottom;
			}
		
			.box .inner p:nth-child(4) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price .currency {
				font-size: 0.65em;
				color: #888;
			}
		
			.box .inner p:nth-child(5) {
				color: #000000;
				font-size: 1.1em;
				font-weight: 600;
				text-align: right;
			}
		
			.box .inner p:nth-child(5) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: middle;
				position: relative;
				top: 1px;
			}
			
			.box .inner p:nth-child(5) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
			
			.box .inner p:nth-child(5) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			/* 가격 정보 */
			.box .inner .discount {
				color: #ff0000;
				font-weight: bold;
			}
		
			.box .inner .original-price {
				text-decoration: line-through;
				color: #888;
				margin-right: 0.5em;
			}
		
			/* 구분선 */
			.box .inner .divider {
				margin: 0.5em 0;
				border: none;
				border-top: 1px solid #eee;
			}
		
			/* 힐러 정보 */
			.box .inner > div:last-child {
				margin-left: 0.1em;
				margin-right: 0.1em;  /* 하단에 고정 */
				margin-top: 0em;
				display: flex;
				align-items: center;
				gap: 10px;
			}
		
			.box .inner .data-box {
				color: #ff0095; 
				border: 1px solid #ff0095;
				border-radius: 4px;
				padding: 0.7em;
				margin-bottom: 0em;
				margin-right: 10px;
				display: inline-block;
				font-size: 0.8em;
				min-width: 0.7em;
				text-align: center;
			}
		
			.box .inner .data-box:hover{
				color: #ffffff; 
				background-color: #ff0095;
				border: 1px solid #ff0095;
			}
		
			/* 힐러 라벨 */
			.box .inner > div:last-child > div:first-child {
				transform: translateY(-20%);
				margin-top: 1.2em;
				margin-right: auto; 
				font-size: 0.8em; 
				color: #ff0095; 
				display: flex; 
				align-items: center;
				text-align: center;
				flex-direction: column;
				min-width: 50px;
				width: 1em;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner .button {
				margin-top: 1em;
				background-color: #e74c3c;
				color: white;
				padding: 0.6em 1.2em;
				border-radius: 5px;
				text-transform: none;
				font-size: 0.9em;
				font-weight: 500;
				letter-spacing: 0.5px;
				transition: background-color 0.3s ease;
			}
		
			.box .inner .button:hover {
				background-color: #e74c3c;
			}


			/* Category Buttons */
			.category-buttons {
				display: flex;
				justify-content: center;
				gap: 20px;
				margin-bottom: 20px;
				padding: 0 20px;
			}

			.category-btn {
				font-weight: 600;
				padding: 10px 30px;
				border: 2px solid #ffffff;
				background: transparent;
				color: #e74c3c;
				border-radius: 50px;
				cursor: pointer;
				font-size: 26px;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				line-height: 1;
				min-height: 44px;
			}

			.category-btn:hover {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			.category-btn.active {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			/* Popup Styles */
			.popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0,0,0,0.7);
				z-index: 1000;
			}

			.popup-content {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* 상단 패딩을 늘려서 닫기 버튼 영역 확보 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 70vh;
				overflow-y: hidden; /* 전체 컨텐츠의 스크롤은 없음 */
			}


			.close-popup {
				position: absolute;
				right: 20px;
				top: 10px;
				font-size: 30px; /* 폰트 크기 증가 */
				font-weight: bold;
				color: #666;
				cursor: pointer;
				z-index: 2;
				background-color: #fefefe;
				padding: 0; /* 패딩 제거 */
				height: 30px;
				width: 30px; /* 너비를 높이와 동일하게 설정 */
				display: flex; /* Flexbox 사용 */
				align-items: center; /* 세로 중앙 정렬 */
				justify-content: center; /* 가로 중앙 정렬 */
				border-radius: 0 10px 0 0; /* 우측 상단 모서리만 둥글게 */
				text-align: center;
				line-height: 1; /* line-height 초기화 */
			}

			.region-grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 20px;
				padding: 20px;
				max-height: calc(70vh - 90px); /* popup-content의 max-height에서 상단 여백 빼기 */
				overflow-y: auto; /* 그리드 내부에만 스크롤 적용 */
				overflow-x: hidden; 
				position: relative;
				top: 20px; /* 상단 여백 조정 */
			}

			/* 스크롤바 스타일링 */
			.region-grid::-webkit-scrollbar {
				width: 18px;
			}

			.region-grid::-webkit-scrollbar-track {
				background: #f1f1f1;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb {
				background: #e74c3c;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb:hover {
				background: #d44637;
			}

			.region-btn {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				padding: 10px;
				background-color: #ffffff;
				color: #000000 !important;
				font-size: 26px;
			}

			.region-btn img {
				width: auto;
				height: 100%;
				border-radius: 5px;
				position: relative;
				top: 50%;
				transform: translateY(-50%);
			}


			.scroll-to-top {
				position: fixed;
				bottom: 30px;
				right: 30px;
				width: 50px;
				height: 50px;
				background-color: rgba(255, 51, 51, 0.6);
				color: white;
				border: none;
				border-radius: 50%;
				cursor: pointer;
				display: none;
				justify-content: center;
				align-items: center;
				font-size: 20px;
				box-shadow: 0 2px 5px rgba(0,0,0,0.2);
				transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
				z-index: 1000;
				padding: 0;
				line-height: 1;
			}
			
			.scroll-to-top i {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				margin: 0;
			}
			
			.scroll-to-top:hover {
				background-color: rgba(255, 51, 51, 0.9);
				transform: translateY(-3px);
			}
			
			.scroll-to-top.visible {
				display: flex;
			}

			.button.style-transparent {
				font-size: 1.3em;
				background: transparent;
				border: 2px solid #e74c3c;
				color: #e74c3c !important;
				transition: all 0.3s ease;
			}

			.button.style-transparent:hover {
				background: #e74c3c;
				color: #ffffff !important;
			}	

			.alert-popup {
				display: none;
				position: fixed;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				z-index: 10002;
				background: white;
				padding: 20px;
				border-radius: 10px;
				box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
				text-align: center;
				min-width: 300px;
			}
			
			.alert-content {
				padding: 20px;
			}
			
			.alert-message {
				word-break: keep-all;
				white-space: pre-line;
			}
			
			.alert-title {
				font-size: 1.0em;
				font-weight: bold;
				color: #686767;
				background-color: #f8f8f8;
				margin: -20px -20px 10px -20px;
				padding: 15px 15px;
				border-radius: 10px 10px 0 0;
				border-bottom: 1px solid #eee;
			}
			
			.alert-close {
				display: flex;
				align-items: center;
				justify-content: center;
				background: #e74c3c;
				color: white;
				border: none;
				padding: 10px 30px;
				border-radius: 5px;
				cursor: pointer;
				font-size: 1em;
				transition: background 0.3s ease;
				min-height: 40px;
				line-height: 1;
				margin: 0 auto;     /* 좌우 마진을 auto로 설정하여 가운데 정렬 */
				width: fit-content; /* 버튼 너비를 내용에 맞게 조정 */
			}
			
			.alert-close:hover {
				border: 1px solid #e74c3c;
				background: #ffffff;
				color: #e74c3c !important;
			}
						
		}	

		/* 3개씩 정렬 */
		@media screen and (max-width: 1789px) and (min-width: 1371px) {

			#main .inners {
				font-family: "Notosans", sans-serif;
				display: flex;
				flex-wrap: wrap;
				width: 100%;
				max-width: 1729px;
				justify-content: center;
				margin: 0 auto;
			}

			#banner {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				/*padding: 8em 4em 6em 4em;*/
				padding: 4em 4em 3em 4em;
				margin-top: -1em;
				min-height: 150px;
				max-height: 200px;
				background-image: url("../../images/banner.jpg");
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				border-top: 0;
				position: relative;
				text-align: center;
				overflow: hidden;
			}

			.thumbnails {
				display: grid;
				/* 3열 고정: 각 열의 너비를 420px로 지정하고 gap은 1.6em */
				grid-template-columns: repeat(3, 420px);
				gap: 1.6em;
				/* 그리드 전체를 가운데로 정렬 */
				justify-content: center;
			}

			.box {
				font-size: 12pt !important;
				font-weight: bold;
				display: flex;
				flex-direction: column;
				overflow: hidden; /* ✅ 넘치는 요소 방지 */
				width: calc((100% - (1.6em * 2)) / 3); /* ✅ 한 줄에 3개 유지 */
				max-width: 420px;
				min-width: 420px;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 250px;
				min-height: 250px;
				max-height: 250px;
				position: relative;
			}
		
			.box .image.fit img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background-color: #f5f5f5;
			}
		
			.box:hover .image.fit img {
				transform: scale(1.05);
			}
		
			.box .inner {
				padding: 1.0em 0.8em 0em 0.8em;
				background: white;
				cursor: pointer;
				-webkit-user-select: none;
				-ms-user-select: none;
				-moz-user-select: none;
				user-select: none;
			}
		
			.box .inner .product-name {
				color: #333 !important;
				font-size: 1.0em !important;
				font-weight: 500;
				margin: 0.8em 0 0em 0;
				padding-top: 0.5em;
				text-align: right;
			}
		
			.box .inner h3 {
				padding: 0;
				margin: 0;
				font-size: 1.3em;
				color: #333;
				font-weight: 700;
				line-height: 1;
			}
		
			.box .inner h3 .category {
				color: #FF69B4;
				font-size: 0.6em;
				margin-left: 1.3em;
				font-weight: 500;
				border: 1px solid #FF69B4;
				border-radius: 20px;
				padding: 1px 10px;
				display: inline-block;
				padding-top: 0.2em;
			}
		
			.box .inner p {
				font-size: 0.9em;
				margin: 0;
				padding: 0;
				color: #666;
				font-weight: 500;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner p:nth-child(2) {
				color: #D4AF37;
				margin-top: 0.05em;
				margin-bottom: -0.4em;
				font-weight: 600;
			}
			
			.box .inner p:nth-child(3) {
				margin-top: 1.2em;
				margin-bottom: -0.2em;
				font-size: 0.75em;
			}
		
			.box .inner p:nth-child(4) {
				color: #000000;
				font-size: 1.3em;
				font-weight: 600;
				margin-top: 0.8em;
				text-align: right;
			}
		
			.box .inner p:nth-child(4) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: bottom;
			}
		
			.box .inner p:nth-child(4) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price .currency {
				font-size: 0.65em;
				color: #888;
			}
		
			.box .inner p:nth-child(5) {
				color: #000000;
				font-size: 1.1em;
				font-weight: 600;
				text-align: right;
			}
		
			.box .inner p:nth-child(5) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: middle;
				position: relative;
				top: 1px;
			}
			
			.box .inner p:nth-child(5) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
			
			.box .inner p:nth-child(5) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			/* 가격 정보 */
			.box .inner .discount {
				color: #ff0000;
				font-weight: bold;
			}
		
			.box .inner .original-price {
				text-decoration: line-through;
				color: #888;
				margin-right: 0.5em;
			}
		
			/* 구분선 */
			.box .inner .divider {
				margin: 0.5em 0;
				border: none;
				border-top: 1px solid #eee;
			}
		
			/* 힐러 정보 */
			.box .inner > div:last-child {
				margin-left: 0.1em;
				margin-right: 0.1em;  /* 하단에 고정 */
				margin-top: 0em;
				display: flex;
				align-items: center;
				gap: 10px;
			}
		
			.box .inner .data-box {
				color: #ff0095; 
				border: 1px solid #ff0095;
				border-radius: 4px;
				padding: 0.7em;
				margin-bottom: 0em;
				margin-right: 10px;
				display: inline-block;
				font-size: 0.8em;
				min-width: 0.7em;
				text-align: center;
			}
		
			.box .inner .data-box:hover{
				color: #ffffff; 
				background-color: #ff0095;
				border: 1px solid #ff0095;
			}
		
			/* 힐러 라벨 */
			.box .inner > div:last-child > div:first-child {
				transform: translateY(-20%);
				margin-top: 1.2em;
				margin-right: auto; 
				font-size: 0.8em; 
				color: #ff0095; 
				display: flex; 
				align-items: center;
				text-align: center;
				flex-direction: column;
				min-width: 50px;
				width: 1em;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner .button {
				margin-top: 1em;
				background-color: #e74c3c;
				color: white;
				padding: 0.6em 1.2em;
				border-radius: 5px;
				text-transform: none;
				font-size: 0.9em;
				font-weight: 500;
				letter-spacing: 0.5px;
				transition: background-color 0.3s ease;
			}
		
			.box .inner .button:hover {
				background-color: #e74c3c;
			}



			/* Category Buttons */
			.category-buttons {
				display: flex;
				justify-content: center;
				gap: 20px;
				margin-bottom: 20px;
				padding: 0 20px;
			}

			.category-btn {
				font-weight: 600;
				padding: 10px 30px;
				border: 2px solid #ffffff;
				background: transparent;
				color: #e74c3c;
				border-radius: 50px;
				cursor: pointer;
				font-size: 26px;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				line-height: 1;
				min-height: 44px;
			}

			.category-btn:hover {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			.category-btn.active {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			/* Popup Styles */
			.popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0,0,0,0.7);
				z-index: 1000;
			}


			.popup-content {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* 상단 패딩을 늘려서 닫기 버튼 영역 확보 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 70vh;
				overflow-y: hidden; /* 전체 컨텐츠의 스크롤은 없음 */
			}


			.close-popup {
				position: absolute;
				right: 20px;
				top: 10px;
				font-size: 30px; /* 폰트 크기 증가 */
				font-weight: bold;
				color: #666;
				cursor: pointer;
				z-index: 2;
				background-color: #fefefe;
				padding: 0; /* 패딩 제거 */
				height: 30px;
				width: 30px; /* 너비를 높이와 동일하게 설정 */
				display: flex; /* Flexbox 사용 */
				align-items: center; /* 세로 중앙 정렬 */
				justify-content: center; /* 가로 중앙 정렬 */
				border-radius: 0 10px 0 0; /* 우측 상단 모서리만 둥글게 */
				text-align: center;
				line-height: 1; /* line-height 초기화 */
			}

			.region-grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 20px;
				padding: 20px;
				max-height: calc(70vh - 90px); /* popup-content의 max-height에서 상단 여백 빼기 */
				overflow-y: auto; /* 그리드 내부에만 스크롤 적용 */
				overflow-x: hidden; 
				position: relative;
				top: 20px; /* 상단 여백 조정 */
			}

			/* 스크롤바 스타일링 */
			.region-grid::-webkit-scrollbar {
				width: 18px;
			}

			.region-grid::-webkit-scrollbar-track {
				background: #f1f1f1;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb {
				background: #e74c3c;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb:hover {
				background: #d44637;
			}

			.region-btn {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				padding: 10px;
				background-color: #ffffff;
				color: #000000 !important;
				font-size: 26px;
			}

			.region-btn img {
				width: auto;
				height: 100%;
				border-radius: 5px;
				position: relative;
				top: 50%;
				transform: translateY(-50%);
			}


			.scroll-to-top {
				position: fixed;
				bottom: 30px;
				right: 30px;
				width: 50px;
				height: 50px;
				background-color: rgba(255, 51, 51, 0.6);
				color: white;
				border: none;
				border-radius: 50%;
				cursor: pointer;
				display: none;
				justify-content: center;
				align-items: center;
				font-size: 20px;
				box-shadow: 0 2px 5px rgba(0,0,0,0.2);
				transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
				z-index: 1000;
				padding: 0;
				line-height: 1;
			}
			
			.scroll-to-top i {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				margin: 0;
			}
			
			.scroll-to-top:hover {
				background-color: rgba(255, 51, 51, 0.9);
				transform: translateY(-3px);
			}
			
			.scroll-to-top.visible {
				display: flex;
			}

			.button.style-transparent {
				font-size: 1.3em;
				background: transparent;
				border: 2px solid #e74c3c;
				color: #e74c3c !important;
				transition: all 0.3s ease;
			}

			.button.style-transparent:hover {
				background: #e74c3c;
				color: #ffffff !important;
			}	
			
			.alert-popup {
				display: none;
				position: fixed;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				z-index: 10002;
				background: white;
				padding: 20px;
				border-radius: 10px;
				box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
				text-align: center;
				min-width: 300px;
			}
			
			.alert-content {
				padding: 20px;
			}
			
			.alert-message {
				word-break: keep-all;
				white-space: pre-line;
			}
			
			.alert-title {
				font-size: 1.0em;
				font-weight: bold;
				color: #686767;
				background-color: #f8f8f8;
				margin: -20px -20px 10px -20px;
				padding: 15px 15px;
				border-radius: 10px 10px 0 0;
				border-bottom: 1px solid #eee;
			}
			
			.alert-close {
				display: flex;
				align-items: center;
				justify-content: center;
				background: #e74c3c;
				color: white;
				border: none;
				padding: 10px 30px;
				border-radius: 5px;
				cursor: pointer;
				font-size: 1em;
				transition: background 0.3s ease;
				min-height: 40px;
				line-height: 1;
				margin: 0 auto;     /* 좌우 마진을 auto로 설정하여 가운데 정렬 */
				width: fit-content; /* 버튼 너비를 내용에 맞게 조정 */
			}
			
			.alert-close:hover {
				border: 1px solid #e74c3c;
				background: #ffffff;
				color: #e74c3c !important;
			}

			.circle-area {
				width: 100px;
				height: 100px;
				background-color: #4CAF50;
				border-radius: 50%;
				display: flex;
				align-items: center;
				justify-content: center;
				color: white;
				font-weight: bold;
				font-size: 16px;
				text-align: center;
				margin: 0 auto;
			}

		}


		/* 2개씩 정렬 */
		@media screen and (max-width: 1370px) and (min-width: 981px) {

			#main .inners {
				font-family: "Notosans", sans-serif;
				display: flex;
				flex-wrap: wrap;
				width: 100%;
				max-width: 1729px;
				justify-content: center;
				margin: 0 auto;
			}

			#banner {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				/*padding: 8em 4em 6em 4em;*/
				padding: 4em 4em 3em 4em;
				margin-top: -1em;
				min-height: 150px;
				max-height: 200px;
				background-image: url("../../images/banner.jpg");
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				border-top: 0;
				position: relative;
				text-align: center;
				overflow: hidden;
			}

			.thumbnails {
				display: grid;
				/* 3열 고정: 각 열의 너비를 420px로 지정하고 gap은 1.6em */
				grid-template-columns: repeat(2, 420px);
				gap: 1.6em;
				/* 그리드 전체를 가운데로 정렬 */
				justify-content: center;
			}

			.box {
				font-size: 12pt !important;
				font-weight: bold;
				display: flex;
				flex-direction: column;
				overflow: hidden; /* ✅ 넘치는 요소 방지 */
				width: calc((100% - (1.6em * 2)) / 3); /* ✅ 한 줄에 3개 유지 */
				max-width: 420px;
				min-width: 420px;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 250px;
				min-height: 250px;
				max-height: 250px;
				position: relative;
			}
		
			.box .image.fit img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background-color: #f5f5f5;
			}
		
			.box:hover .image.fit img {
				transform: scale(1.05);
			}
		
			.box .inner {
				padding: 1.0em 0.8em 0em 0.8em;
				background: white;
				cursor: pointer;
				-webkit-user-select: none;
				-ms-user-select: none;
				-moz-user-select: none;
				user-select: none;
			}
		
			.box .inner .product-name {
				color: #333 !important;
				font-size: 1.0em !important;
				font-weight: 500;
				margin: 0.8em 0 0em 0;
				padding-top: 0.5em;
				text-align: right;
			}
		
			.box .inner h3 {
				padding: 0;
				margin: 0;
				font-size: 1.3em;
				color: #333;
				font-weight: 700;
				line-height: 1;
			}
		
			.box .inner h3 .category {
				color: #FF69B4;
				font-size: 0.6em;
				margin-left: 1.3em;
				font-weight: 500;
				border: 1px solid #FF69B4;
				border-radius: 20px;
				padding: 1px 10px;
				display: inline-block;
				padding-top: 0.2em;
			}
		
			.box .inner p {
				font-size: 0.9em;
				margin: 0;
				padding: 0;
				color: #666;
				font-weight: 500;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner p:nth-child(2) {
				color: #D4AF37;
				margin-top: 0.05em;
				margin-bottom: -0.4em;
				font-weight: 600;
			}
			
			.box .inner p:nth-child(3) {
				margin-top: 1.2em;
				margin-bottom: -0.2em;
				font-size: 0.75em;
			}
		
			.box .inner p:nth-child(4) {
				color: #000000;
				font-size: 1.3em;
				font-weight: 600;
				margin-top: 0.8em;
				text-align: right;
			}
		
			.box .inner p:nth-child(4) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: bottom;
			}
		
			.box .inner p:nth-child(4) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price .currency {
				font-size: 0.65em;
				color: #888;
			}
		
			.box .inner p:nth-child(5) {
				color: #000000;
				font-size: 1.1em;
				font-weight: 600;
				text-align: right;
			}
		
			.box .inner p:nth-child(5) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: middle;
				position: relative;
				top: 1px;
			}
			
			.box .inner p:nth-child(5) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
			
			.box .inner p:nth-child(5) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			/* 가격 정보 */
			.box .inner .discount {
				color: #ff0000;
				font-weight: bold;
			}
		
			.box .inner .original-price {
				text-decoration: line-through;
				color: #888;
				margin-right: 0.5em;
			}
		
			/* 구분선 */
			.box .inner .divider {
				margin: 0.5em 0;
				border: none;
				border-top: 1px solid #eee;
			}
		
			/* 힐러 정보 */
			.box .inner > div:last-child {
				margin-left: 0.1em;
				margin-right: 0.1em;  /* 하단에 고정 */
				margin-top: 0em;
				display: flex;
				align-items: center;
				gap: 10px;
			}
		
			.box .inner .data-box {
				color: #ff0095; 
				border: 1px solid #ff0095;
				border-radius: 4px;
				padding: 0.7em;
				margin-bottom: 0em;
				margin-right: 10px;
				display: inline-block;
				font-size: 0.8em;
				min-width: 0.7em;
				text-align: center;
			}
		
			.box .inner .data-box:hover{
				color: #ffffff; 
				background-color: #ff0095;
				border: 1px solid #ff0095;
			}
		
			/* 힐러 라벨 */
			.box .inner > div:last-child > div:first-child {
				transform: translateY(-20%);
				margin-top: 1.2em;
				margin-right: auto; 
				font-size: 0.8em; 
				color: #ff0095; 
				display: flex; 
				align-items: center;
				text-align: center;
				flex-direction: column;
				min-width: 50px;
				width: 1em;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner .button {
				margin-top: 1em;
				background-color: #e74c3c;
				color: white;
				padding: 0.6em 1.2em;
				border-radius: 5px;
				text-transform: none;
				font-size: 0.9em;
				font-weight: 500;
				letter-spacing: 0.5px;
				transition: background-color 0.3s ease;
			}
		
			.box .inner .button:hover {
				background-color: #e74c3c;
			}



			/* Category Buttons */
			.category-buttons {
				display: flex;
				justify-content: center;
				gap: 20px;
				margin-bottom: 20px;
				padding: 0 20px;
			}

			.category-btn {
				font-weight: 600;
				padding: 10px 30px;
				border: 2px solid #ffffff;
				background: transparent;
				color: #e74c3c;
				border-radius: 50px;
				cursor: pointer;
				font-size: 26px;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				line-height: 1;
				min-height: 44px;
			}

			.category-btn:hover {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			.category-btn.active {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			/* Popup Styles */
			.popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0,0,0,0.7);
				z-index: 1000;
			}


			.popup-content {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* 상단 패딩을 늘려서 닫기 버튼 영역 확보 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 70vh;
				overflow-y: hidden; /* 전체 컨텐츠의 스크롤은 없음 */
			}


			.close-popup {
				position: absolute;
				right: 20px;
				top: 10px;
				font-size: 30px; /* 폰트 크기 증가 */
				font-weight: bold;
				color: #666;
				cursor: pointer;
				z-index: 2;
				background-color: #fefefe;
				padding: 0; /* 패딩 제거 */
				height: 30px;
				width: 30px; /* 너비를 높이와 동일하게 설정 */
				display: flex; /* Flexbox 사용 */
				align-items: center; /* 세로 중앙 정렬 */
				justify-content: center; /* 가로 중앙 정렬 */
				border-radius: 0 10px 0 0; /* 우측 상단 모서리만 둥글게 */
				text-align: center;
				line-height: 1; /* line-height 초기화 */
			}

			.region-grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 20px;
				padding: 20px;
				max-height: calc(70vh - 90px); /* popup-content의 max-height에서 상단 여백 빼기 */
				overflow-y: auto; /* 그리드 내부에만 스크롤 적용 */
				overflow-x: hidden; 
				position: relative;
				top: 20px; /* 상단 여백 조정 */
			}

			/* 스크롤바 스타일링 */
			.region-grid::-webkit-scrollbar {
				width: 18px;
			}

			.region-grid::-webkit-scrollbar-track {
				background: #f1f1f1;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb {
				background: #e74c3c;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb:hover {
				background: #d44637;
			}

			.region-btn {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				padding: 10px;
				background-color: #ffffff;
				color: #000000 !important;
				font-size: 26px;
			}

			.region-btn img {
				width: auto;
				height: 100%;
				border-radius: 5px;
				position: relative;
				top: 50%;
				transform: translateY(-50%);
			}


			.scroll-to-top {
				position: fixed;
				bottom: 30px;
				right: 30px;
				width: 50px;
				height: 50px;
				background-color: rgba(255, 51, 51, 0.6);
				color: white;
				border: none;
				border-radius: 50%;
				cursor: pointer;
				display: none;
				justify-content: center;
				align-items: center;
				font-size: 20px;
				box-shadow: 0 2px 5px rgba(0,0,0,0.2);
				transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
				z-index: 1000;
				padding: 0;
				line-height: 1;
			}
			
			.scroll-to-top i {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				margin: 0;
			}
			
			.scroll-to-top:hover {
				background-color: rgba(255, 51, 51, 0.9);
				transform: translateY(-3px);
			}
			
			.scroll-to-top.visible {
				display: flex;
			}

			.button.style-transparent {
				font-size: 1.3em;
				background: transparent;
				border: 2px solid #e74c3c;
				color: #e74c3c !important;
				transition: all 0.3s ease;
			}

			.button.style-transparent:hover {
				background: #e74c3c;
				color: #ffffff !important;
			}	
			
			.alert-popup {
				display: none;
				position: fixed;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				z-index: 10002;
				background: white;
				padding: 20px;
				border-radius: 10px;
				box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
				text-align: center;
				min-width: 300px;
			}
			
			.alert-content {
				padding: 20px;
			}
			
			.alert-message {
				word-break: keep-all;
				white-space: pre-line;
			}
			
			.alert-title {
				font-size: 1.0em;
				font-weight: bold;
				color: #686767;
				background-color: #f8f8f8;
				margin: -20px -20px 10px -20px;
				padding: 15px 15px;
				border-radius: 10px 10px 0 0;
				border-bottom: 1px solid #eee;
			}
			
			.alert-close {
				display: flex;
				align-items: center;
				justify-content: center;
				background: #e74c3c;
				color: white;
				border: none;
				padding: 10px 30px;
				border-radius: 5px;
				cursor: pointer;
				font-size: 1em;
				transition: background 0.3s ease;
				min-height: 40px;
				line-height: 1;
				margin: 0 auto;     /* 좌우 마진을 auto로 설정하여 가운데 정렬 */
				width: fit-content; /* 버튼 너비를 내용에 맞게 조정 */
			}
			
			.alert-close:hover {
				border: 1px solid #e74c3c;
				background: #ffffff;
				color: #e74c3c !important;
			}
		}


		/* 모바일 화면 : 크기를 고정함 */
		@media screen and (max-width: 980px) {

			#main .inners {
				font-family: "Notosans", sans-serif;
				display: flex;
				flex-wrap: wrap;
				width: 978px;
				max-width: 978px;
				justify-content: center;
				margin: 0 auto;
			}

			#banner {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				/*padding: 8em 4em 6em 4em;*/
				padding: 64px 64px 48px 64px;
				margin-top: -1em;
				min-height: 150px;
				max-height: 200px;
				width: 978px;
				max-width: 978px;
				background-image: url("../../images/banner.jpg");
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				border-top: 0;
				position: relative;
				text-align: center;
				overflow: hidden;
			}

			.thumbnails {
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
				align-items: flex-start;
				width: 100%; /* 부모 크기 조정 */
				max-width: 100%; /* 최대 너비 설정 */
				min-width: 100%;
				margin: 0;
				padding: 0;
				gap: 1.6em; /* 간격 조정 */
			}

			.box {
				font-weight: bold;
				display: flex;
				flex-direction: column;
				overflow: hidden;
				max-width: 100%;
				min-width: 100%;
				width: 100%;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 590px;
				min-height: 590px;
				max-height: 590px;
				overflow: hidden;
				position: relative;
			}
		
			.box .image.fit img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background-color: #f5f5f5;
			}
		
			.box:hover .image.fit img {
				transform: scale(1.05);
			}
		
			.box .inner {
				padding: 1.0em 0.8em 0em 0.8em;
				background: white;
				cursor: pointer;
				-webkit-user-select: none;
				-ms-user-select: none;
				-moz-user-select: none;
				user-select: none;
			}
		
			.box .inner .product-name {
				color: #333 !important;
				font-size: 2.6em !important;
				font-weight: 500;
				margin: 0.8em 0 0em 0;
				padding-top: 0.5em;
				text-align: right;
			}
		
			.box .inner h3 {
				padding: 0;
				margin: 0;
				font-size: 2.6em;
				color: #333;
				font-weight: 700;
				line-height: 1;
			}
		
			.box .inner h3 .category {
				color: #FF69B4;
				font-size: 0.8em;
				margin-left: 1.3em;
				font-weight: 500;
				border: 1px solid #FF69B4;
				border-radius: 20px;
				padding: 1px 10px;
				display: inline-block;
				padding-top: 0.2em;
			}
		
			.box .inner p {
				font-size: 1.8em;
				margin: 0;
				padding: 0;
				color: #666;
				font-weight: 500;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner p:nth-child(2) {
				color: #D4AF37;
				margin-top: 0.05em;
				margin-bottom: -0.4em;
				font-weight: 600;
				font-size: 2.1em;
			}
			
			.box .inner p:nth-child(3) {
				margin-top: 1.2em;
				margin-bottom: -0.2em;
				font-size: 2.3em;
			}
		
			.box .inner p:nth-child(4) {
				color: #000000;
				font-size: 2.6em;
				font-weight: 600;
				margin-top: 0.8em;
				text-align: right;
			}
		
			.box .inner p:nth-child(4) .currency {
				font-size: 1.3em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: bottom;
			}
		
			.box .inner p:nth-child(4) .discount {
				color: #e74c3c;
				font-size: 1.6em;
				font-weight: 700;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price {
				color: #888;
				font-size: 1.5em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price .currency {
				font-size: 1.3em;
				color: #888;
			}
		
			.box .inner p:nth-child(5) {
				color: #000000;
				font-size: 2.3em;
				font-weight: 600;
				text-align: right;
			}
		
			.box .inner p:nth-child(5) .currency {
				font-size: 0.75em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: middle;
				position: relative;
				top: 1px;
			}
			
			.box .inner p:nth-child(5) .discount {
				color: #e74c3c;
				font-size: 1.1em;
				font-weight: 700;
				margin-right: 8px;
			}
			
			.box .inner p:nth-child(5) .original-price {
				color: #888;
				font-size: 1.1em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			/* 가격 정보 */
			.box .inner .discount {
				color: #ff0000;
				font-weight: bold;
			}

			.box .inner .discount-price {
				font-size: 1.7em;
			}
		
			.box .inner .original-price {
				font-size: 11.7em;
				text-decoration: line-through;
				color: #888888;
				margin-right: 0.5em;
			}
		
			/* 구분선 */
			.box .inner .divider {
				margin: 0.5em 0;
				border: none;
				border-top: 1px solid #eee;
			}
		
			/* 힐러 정보 */
			.box .inner > div:last-child {
				margin-left: 0.1em;
				margin-right: 0.1em;  /* 하단에 고정 */
				margin-top: 1.5em;
				display: flex;
				align-items: center;
				gap: 20px;
			}

			.data-box-title {
				margin-right: 30px;
			}
		
			.box .inner .data-box {
				color: #ff0095; 
				border: 1px solid #ff0095;
				border-radius: 4px;
				padding: 0.7em;
				margin-bottom: 0em;
				margin-right: 30px;
				display: inline-block;
				font-size: 2.1em;
				min-width: 0.7em;
				text-align: center;
			}
		
			.box .inner .data-box:hover{
				color: #ffffff; 
				background-color: #ff0095;
				border: 1px solid #ff0095;
			}
		
			/* 힐러 라벨 */
			.box .inner > div:last-child > div:first-child {
				transform: translateY(-20%);
				margin-top: 1.2em;
				margin-left: 0.3em;
				margin-right: auto; 
				font-size: 1.6em; 
				color: #ff0095; 
				display: flex; 
				align-items: center;
				text-align: center;
				flex-direction: column;
				min-width: 50px;
				width: 1em;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner .button {
				margin-top: 1em;
				background-color: #e74c3c;
				color: white;
				padding: 0.6em 1.2em;
				border-radius: 5px;
				text-transform: none;
				font-size: 1.8em;
				font-weight: 500;
				letter-spacing: 0.5px;
				transition: background-color 0.3s ease;
			}
		
			.box .inner .button:hover {
				background-color: #e74c3c;
			}


			/* Category Buttons */
			.category-buttons {
				display: flex;
				justify-content: center;
				gap: 20px;
				margin-bottom: 20px;
				padding: 0 20px;
			}

			.category-btn {
				font-weight: 600;
				padding: 10px 30px;
				border: 2px solid #ffffff;
				background: transparent;
				color: #e74c3c;
				border-radius: 50px;
				cursor: pointer;
				font-size: 45px;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				line-height: 1;
				min-height: 44px;
			}

			.category-btn:hover {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			.category-btn.active {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			/* Popup Styles */
			.popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0,0,0,0.7);
				z-index: 1000;
				overflow-y: hidden;
			}

			.popup-content {
				position: relative;
				background-color: #fefefe;
				margin: 150px auto;
				padding: 90px 20px 20px 20px; /* 상단 패딩을 늘려서 닫기 버튼 영역 확보 */
				width: 700px;
				max-width: 700px;
				border-radius: 10px;
				max-height: 750px;
				height: 750px;
				overflow: hidden; /* 전체 컨텐츠의 스크롤은 없음 */
			}


			.close-popup {
				position: absolute;
				right: 20px;
				top: 0;
				font-size: 70px; /* 폰트 크기 증가 */
				font-weight: bold;
				color: #666;
				cursor: pointer;
				z-index: 2;
				background-color: #fefefe;
				padding: 0; /* 패딩 제거 */
				height: 70px;
				width: 70px; /* 너비를 높이와 동일하게 설정 */
				display: flex; /* Flexbox 사용 */
				align-items: center; /* 세로 중앙 정렬 */
				justify-content: center; /* 가로 중앙 정렬 */
				border-radius: 0 10px 0 0; /* 우측 상단 모서리만 둥글게 */
				text-align: center;
				line-height: 1; /* line-height 초기화 */
			}

			.region-grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 20px;
				padding: 20px;
				max-height: calc(100% - 40px); /* popup-content의 max-height에서 상단 여백 빼기 */
				overflow-y: auto; /* 그리드 내부에만 스크롤 적용 */
				overflow-x: hidden; 
				position: relative;
				top: 30px; /* 상단 여백 조정 */
			}

			/* 스크롤바 스타일링 */
			.region-grid::-webkit-scrollbar {
				width: 18px;
			}

			.region-grid::-webkit-scrollbar-track {
				background: #f1f1f1;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb {
				background: #e74c3c;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb:hover {
				background: #d44637;
			}

			.region-grid.empty {
				display: none; /* 데이터가 없을 때 그리드 숨김 */
				overflow-y: hidden; /* 스크롤 비활성화 */
			}

			.region-btn {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				padding: 10px;
				background-color: #ffffff;
				color: #000000 !important;
				font-size: 38px;
			}

			.region-btn img {
				width: auto;
				height: 100%;
				border-radius: 5px;
				position: relative;
				top: 50%;
				transform: translateY(-50%);
			}


			.scroll-to-top {
				position: fixed;
				bottom: 30px;
				right: 30px;
				width: 100px;
				height: 100px;
				background-color: rgba(255, 51, 51, 0.6);
				color: white;
				border: none;
				border-radius: 50%;
				cursor: pointer;
				display: none;
				justify-content: center;
				align-items: center;
				font-size: 40px;
				box-shadow: 0 2px 5px rgba(0,0,0,0.2);
				transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
				z-index: 1000;
				padding: 0;
				line-height: 1;
			}
			
			.scroll-to-top i {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				margin: 0;
			}
			
			.scroll-to-top:hover {
				background-color: rgba(255, 51, 51, 0.9);
				transform: translateY(-3px);
			}
			
			.scroll-to-top.visible {
				display: flex;
			}

			.button.style-transparent {
				font-size: 2.0em;
				background: transparent;
				border: 2px solid #e74c3c;
				color: #e74c3c !important;
				transition: all 0.3s ease;
			}

			.button.style-transparent:hover {
				background: #e74c3c;
				color: #ffffff !important;
			}	

			.alert-popup {
				display: none;
				position: fixed;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				z-index: 10002;
				background: white;
				padding: 20px;
				border-radius: 10px;
				box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
				text-align: center;
				min-width: 400px;
			}
			
			.alert-content {
				padding: 20px;
			}
			
			.alert-message {
				word-break: keep-all;
				white-space: pre-line;
				font-size: 2em;
			}
			
			.alert-title {
				font-size: 2.0em;
				font-weight: bold;
				color: #686767;
				background-color: #f8f8f8;
				margin: -20px -20px 10px -20px;
				padding: 15px 15px;
				border-radius: 10px 10px 0 0;
				border-bottom: 1px solid #eee;
			}
			
			.alert-close {
				display: flex;
				align-items: center;
				justify-content: center;
				background: #e74c3c;
				color: white;
				border: none;
				padding: 10px 30px;
				border-radius: 5px;
				cursor: pointer;
				font-size: 2em;
				transition: background 0.3s ease;
				min-height: 70px;
				line-height: 1;
				margin: 0 auto;     /* 좌우 마진을 auto로 설정하여 가운데 정렬 */
				width: fit-content; /* 버튼 너비를 내용에 맞게 조정 */
			}
			
			.alert-close:hover {
				border: 1px solid #e74c3c;
				background: #ffffff;
				color: #e74c3c !important;
			}
		}
		
		/* 2개씩 정렬 */
		/*@media screen and (max-width: 1619px) and (min-width: 1420px) {

			.thumbnails {
				background-color: #ffee00;
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start;
				align-items: flex-start;
				width: 60%;
				max-width: 1800px;
				margin: 0;
				padding: 0;
				gap: 1.6em;
			}

			.box {
				display: flex;
				flex-direction: column;
				overflow: hidden;
				width: calc((100% - (1.6em * 1)) / 2);
				max-width: none;
				min-width: 200px;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 45%;
				overflow: hidden;
				position: relative;
			}
		
			.box .image.fit img {
@charset "UTF-8";
@import url(font-awesome.min.css);
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400|Passion+One:400");

/*
	Full Motion by TEMPLATED
	templated.co @templatedco
	Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
*/

/* Reset */

	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline;
	}

	article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
		display: block;
	}

	body {
		line-height: 1;
	}

	ol, ul {
		list-style: none;
	}

	blockquote, q {
		quotes: none;
	}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

	table {
		border-collapse: collapse;
		border-spacing: 0;
	}

	body {
		-webkit-text-size-adjust: none;
	}

/* Box Model */

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

/* Basic */

	@-ms-viewport {
		width: device-width;
	}

	body {
		-ms-overflow-style: scrollbar;
		background: #ffffff;
	}

	/*@media screen and (max-width: 480px) {

		html, body {
			min-width: 320px;
		}

	}*/

	body {
		-webkit-text-size-adjust: none;
	}

		body.is-loading *, body.is-loading *:before, body.is-loading *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

/* Type */

	body, input, select, textarea {
		color: #666666;
		font-family: "Notosans", sans-serif;
		font-size: 14pt;
		font-weight: 300;
		line-height: 1.65;
	}

		@media screen and (max-width: 18800px) and (min-width: 1790px)  {

			#main .inners {
				font-family: "Notosans", sans-serif;
				display: flex;
				flex-wrap: wrap;
				width: 100%;
				max-width: 98%;
				justify-content: center;
				margin: 0 auto;
			}

			#banner {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				/*padding: 8em 4em 6em 4em;*/
				padding: 4em 4em 3em 4em;
				margin-top: -1em;
				min-height: 150px;
				max-height: 200px;
				background-image: url("../../images/banner.jpg");
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				border-top: 0;
				position: relative;
				text-align: center;
				overflow: hidden;
			}

			.thumbnails {
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start;
				align-items: flex-start;
				width: 100%; /* 부모 크기 조정 */
				max-width: 1800px; /* 최대 너비 설정 */
				margin: 0;
				padding: 0;
				gap: 1.6em; /* 간격 조정 */
			}
		
			.box {
				font-size: 12pt !important;
				font-weight: bold;
				display: flex;
				flex-direction: column;
				overflow: hidden; /* ✅ 넘치는 요소 방지 */
				width: calc((100% - (1.6em * 3)) / 4); /* ✅ 한 줄에 4개 유지 */
				max-width: none;
				min-width: 200px;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 260px;
				min-height: 260px;
				max-height: 260px;
				overflow: hidden;
				position: relative;
			}
		
			.box .image.fit img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background-color: #f5f5f5;
			}
		
			.box:hover .image.fit img {
				transform: scale(1.05);
			}
		
			.box .inner {
				padding: 1.0em 0.8em 0em 0.8em;
				background: white;
				cursor: pointer;
				-webkit-user-select: none;
				-ms-user-select: none;
				-moz-user-select: none;
				user-select: none;
			}
		
			.box .inner .product-name {
				color: #333 !important;
				font-size: 1.0em !important;
				font-weight: 500;
				margin: 0.8em 0 0em 0;
				padding-top: 0.5em;
				text-align: right;
			}
		
			.box .inner h3 {
				padding: 0;
				margin: 0;
				font-size: 1.3em;
				color: #333;
				font-weight: 700;
				line-height: 1;
			}
		
			.box .inner h3 .category {
				color: #FF69B4;
				font-size: 0.6em;
				margin-left: 1.3em;
				font-weight: 500;
				border: 1px solid #FF69B4;
				border-radius: 20px;
				padding: 1px 10px;
				display: inline-block;
				padding-top: 0.2em;
			}
		
			.box .inner p {
				font-size: 0.9em;
				margin: 0;
				padding: 0;
				color: #666;
				font-weight: 500;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner p:nth-child(2) {
				color: #D4AF37;
				margin-top: 0.05em;
				margin-bottom: -0.4em;
				font-weight: 600;
			}
			
			.box .inner p:nth-child(3) {
				margin-top: 1.2em;
				margin-bottom: -0.2em;
				font-size: 0.75em;
			}
		
			.box .inner p:nth-child(4) {
				color: #000000;
				font-size: 1.3em;
				font-weight: 600;
				margin-top: 0.8em;
				text-align: right;
			}
		
			.box .inner p:nth-child(4) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: bottom;
			}
		
			.box .inner p:nth-child(4) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price .currency {
				font-size: 0.65em;
				color: #888;
			}
		
			.box .inner p:nth-child(5) {
				color: #000000;
				font-size: 1.1em;
				font-weight: 600;
				text-align: right;
			}
		
			.box .inner p:nth-child(5) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: middle;
				position: relative;
				top: 1px;
			}
			
			.box .inner p:nth-child(5) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
			
			.box .inner p:nth-child(5) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			/* 가격 정보 */
			.box .inner .discount {
				color: #ff0000;
				font-weight: bold;
			}
		
			.box .inner .original-price {
				text-decoration: line-through;
				color: #888;
				margin-right: 0.5em;
			}
		
			/* 구분선 */
			.box .inner .divider {
				margin: 0.5em 0;
				border: none;
				border-top: 1px solid #eee;
			}
		
			/* 힐러 정보 */
			.box .inner > div:last-child {
				margin-left: 0.1em;
				margin-right: 0.1em;  /* 하단에 고정 */
				margin-top: 0em;
				display: flex;
				align-items: center;
				gap: 10px;
			}
		
			.box .inner .data-box {
				color: #ff0095; 
				border: 1px solid #ff0095;
				border-radius: 4px;
				padding: 0.7em;
				margin-bottom: 0em;
				margin-right: 10px;
				display: inline-block;
				font-size: 0.8em;
				min-width: 0.7em;
				text-align: center;
			}
		
			.box .inner .data-box:hover{
				color: #ffffff; 
				background-color: #ff0095;
				border: 1px solid #ff0095;
			}
		
			/* 힐러 라벨 */
			.box .inner > div:last-child > div:first-child {
				transform: translateY(-20%);
				margin-top: 1.2em;
				margin-right: auto; 
				font-size: 0.8em; 
				color: #ff0095; 
				display: flex; 
				align-items: center;
				text-align: center;
				flex-direction: column;
				min-width: 50px;
				width: 1em;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner .button {
				margin-top: 1em;
				background-color: #e74c3c;
				color: white;
				padding: 0.6em 1.2em;
				border-radius: 5px;
				text-transform: none;
				font-size: 0.9em;
				font-weight: 500;
				letter-spacing: 0.5px;
				transition: background-color 0.3s ease;
			}
		
			.box .inner .button:hover {
				background-color: #e74c3c;
			}


			/* Category Buttons */
			.category-buttons {
				display: flex;
				justify-content: center;
				gap: 20px;
				margin-bottom: 20px;
				padding: 0 20px;
			}

			.category-btn {
				font-weight: 600;
				padding: 10px 30px;
				border: 2px solid #ffffff;
				background: transparent;
				color: #e74c3c;
				border-radius: 50px;
				cursor: pointer;
				font-size: 26px;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				line-height: 1;
				min-height: 44px;
			}

			.category-btn:hover {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			.category-btn.active {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			/* Popup Styles */
			.popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0,0,0,0.7);
				z-index: 1000;
			}

			.popup-content {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* 상단 패딩을 늘려서 닫기 버튼 영역 확보 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 70vh;
				overflow-y: hidden; /* 전체 컨텐츠의 스크롤은 없음 */
			}


			.close-popup {
				position: absolute;
				right: 20px;
				top: 10px;
				font-size: 30px; /* 폰트 크기 증가 */
				font-weight: bold;
				color: #666;
				cursor: pointer;
				z-index: 2;
				background-color: #fefefe;
				padding: 0; /* 패딩 제거 */
				height: 30px;
				width: 30px; /* 너비를 높이와 동일하게 설정 */
				display: flex; /* Flexbox 사용 */
				align-items: center; /* 세로 중앙 정렬 */
				justify-content: center; /* 가로 중앙 정렬 */
				border-radius: 0 10px 0 0; /* 우측 상단 모서리만 둥글게 */
				text-align: center;
				line-height: 1; /* line-height 초기화 */
			}

			.region-grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 20px;
				padding: 20px;
				max-height: calc(70vh - 90px); /* popup-content의 max-height에서 상단 여백 빼기 */
				overflow-y: auto; /* 그리드 내부에만 스크롤 적용 */
				overflow-x: hidden; 
				position: relative;
				top: 20px; /* 상단 여백 조정 */
			}

			/* 스크롤바 스타일링 */
			.region-grid::-webkit-scrollbar {
				width: 18px;
			}

			.region-grid::-webkit-scrollbar-track {
				background: #f1f1f1;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb {
				background: #e74c3c;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb:hover {
				background: #d44637;
			}

			.region-btn {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				padding: 10px;
				background-color: #ffffff;
				color: #000000 !important;
				font-size: 26px;
			}

			.region-btn img {
				width: auto;
				height: 100%;
				border-radius: 5px;
				position: relative;
				top: 50%;
				transform: translateY(-50%);
			}


			.scroll-to-top {
				position: fixed;
				bottom: 30px;
				right: 30px;
				width: 50px;
				height: 50px;
				background-color: rgba(255, 51, 51, 0.6);
				color: white;
				border: none;
				border-radius: 50%;
				cursor: pointer;
				display: none;
				justify-content: center;
				align-items: center;
				font-size: 20px;
				box-shadow: 0 2px 5px rgba(0,0,0,0.2);
				transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
				z-index: 1000;
				padding: 0;
				line-height: 1;
			}
			
			.scroll-to-top i {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				margin: 0;
			}
			
			.scroll-to-top:hover {
				background-color: rgba(255, 51, 51, 0.9);
				transform: translateY(-3px);
			}
			
			.scroll-to-top.visible {
				display: flex;
			}

			.button.style-transparent {
				font-size: 1.3em;
				background: transparent;
				border: 2px solid #e74c3c;
				color: #e74c3c !important;
				transition: all 0.3s ease;
			}

			.button.style-transparent:hover {
				background: #e74c3c;
				color: #ffffff !important;
			}	
		}	

		/* 3개씩 정렬 */
		@media screen and (max-width: 1789px) and (min-width: 1371px) {

			#main .inners {
				font-family: "Notosans", sans-serif;
				display: flex;
				flex-wrap: wrap;
				width: 100%;
				max-width: 1729px;
				justify-content: center;
				margin: 0 auto;
			}

			#banner {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				/*padding: 8em 4em 6em 4em;*/
				padding: 4em 4em 3em 4em;
				margin-top: -1em;
				min-height: 150px;
				max-height: 200px;
				background-image: url("../../images/banner.jpg");
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				border-top: 0;
				position: relative;
				text-align: center;
				overflow: hidden;
			}

			.thumbnails {
				display: grid;
				/* 3열 고정: 각 열의 너비를 420px로 지정하고 gap은 1.6em */
				grid-template-columns: repeat(3, 420px);
				gap: 1.6em;
				/* 그리드 전체를 가운데로 정렬 */
				justify-content: center;
			}

			.box {
				font-size: 12pt !important;
				font-weight: bold;
				display: flex;
				flex-direction: column;
				overflow: hidden; /* ✅ 넘치는 요소 방지 */
				width: calc((100% - (1.6em * 2)) / 3); /* ✅ 한 줄에 3개 유지 */
				max-width: 420px;
				min-width: 420px;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 250px;
				min-height: 250px;
				max-height: 250px;
				position: relative;
			}
		
			.box .image.fit img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background-color: #f5f5f5;
			}
		
			.box:hover .image.fit img {
				transform: scale(1.05);
			}
		
			.box .inner {
				padding: 1.0em 0.8em 0em 0.8em;
				background: white;
				cursor: pointer;
				-webkit-user-select: none;
				-ms-user-select: none;
				-moz-user-select: none;
				user-select: none;
			}
		
			.box .inner .product-name {
				color: #333 !important;
				font-size: 1.0em !important;
				font-weight: 500;
				margin: 0.8em 0 0em 0;
				padding-top: 0.5em;
				text-align: right;
			}
		
			.box .inner h3 {
				padding: 0;
				margin: 0;
				font-size: 1.3em;
				color: #333;
				font-weight: 700;
				line-height: 1;
			}
		
			.box .inner h3 .category {
				color: #FF69B4;
				font-size: 0.6em;
				margin-left: 1.3em;
				font-weight: 500;
				border: 1px solid #FF69B4;
				border-radius: 20px;
				padding: 1px 10px;
				display: inline-block;
				padding-top: 0.2em;
			}
		
			.box .inner p {
				font-size: 0.9em;
				margin: 0;
				padding: 0;
				color: #666;
				font-weight: 500;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner p:nth-child(2) {
				color: #D4AF37;
				margin-top: 0.05em;
				margin-bottom: -0.4em;
				font-weight: 600;
			}
			
			.box .inner p:nth-child(3) {
				margin-top: 1.2em;
				margin-bottom: -0.2em;
				font-size: 0.75em;
			}
		
			.box .inner p:nth-child(4) {
				color: #000000;
				font-size: 1.3em;
				font-weight: 600;
				margin-top: 0.8em;
				text-align: right;
			}
		
			.box .inner p:nth-child(4) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: bottom;
			}
		
			.box .inner p:nth-child(4) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price .currency {
				font-size: 0.65em;
				color: #888;
			}
		
			.box .inner p:nth-child(5) {
				color: #000000;
				font-size: 1.1em;
				font-weight: 600;
				text-align: right;
			}
		
			.box .inner p:nth-child(5) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: middle;
				position: relative;
				top: 1px;
			}
			
			.box .inner p:nth-child(5) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
			
			.box .inner p:nth-child(5) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			/* 가격 정보 */
			.box .inner .discount {
				color: #ff0000;
				font-weight: bold;
			}
		
			.box .inner .original-price {
				text-decoration: line-through;
				color: #888;
				margin-right: 0.5em;
			}
		
			/* 구분선 */
			.box .inner .divider {
				margin: 0.5em 0;
				border: none;
				border-top: 1px solid #eee;
			}
		
			/* 힐러 정보 */
			.box .inner > div:last-child {
				margin-left: 0.1em;
				margin-right: 0.1em;  /* 하단에 고정 */
				margin-top: 0em;
				display: flex;
				align-items: center;
				gap: 10px;
			}
		
			.box .inner .data-box {
				color: #ff0095; 
				border: 1px solid #ff0095;
				border-radius: 4px;
				padding: 0.7em;
				margin-bottom: 0em;
				margin-right: 10px;
				display: inline-block;
				font-size: 0.8em;
				min-width: 0.7em;
				text-align: center;
			}
		
			.box .inner .data-box:hover{
				color: #ffffff; 
				background-color: #ff0095;
				border: 1px solid #ff0095;
			}
		
			/* 힐러 라벨 */
			.box .inner > div:last-child > div:first-child {
				transform: translateY(-20%);
				margin-top: 1.2em;
				margin-right: auto; 
				font-size: 0.8em; 
				color: #ff0095; 
				display: flex; 
				align-items: center;
				text-align: center;
				flex-direction: column;
				min-width: 50px;
				width: 1em;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner .button {
				margin-top: 1em;
				background-color: #e74c3c;
				color: white;
				padding: 0.6em 1.2em;
				border-radius: 5px;
				text-transform: none;
				font-size: 0.9em;
				font-weight: 500;
				letter-spacing: 0.5px;
				transition: background-color 0.3s ease;
			}
		
			.box .inner .button:hover {
				background-color: #e74c3c;
			}



			/* Category Buttons */
			.category-buttons {
				display: flex;
				justify-content: center;
				gap: 20px;
				margin-bottom: 20px;
				padding: 0 20px;
			}

			.category-btn {
				font-weight: 600;
				padding: 10px 30px;
				border: 2px solid #ffffff;
				background: transparent;
				color: #e74c3c;
				border-radius: 50px;
				cursor: pointer;
				font-size: 26px;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				line-height: 1;
				min-height: 44px;
			}

			.category-btn:hover {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			.category-btn.active {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			/* Popup Styles */
			.popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0,0,0,0.7);
				z-index: 1000;
			}


			.popup-content {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* 상단 패딩을 늘려서 닫기 버튼 영역 확보 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 70vh;
				overflow-y: hidden; /* 전체 컨텐츠의 스크롤은 없음 */
			}


			.close-popup {
				position: absolute;
				right: 20px;
				top: 10px;
				font-size: 30px; /* 폰트 크기 증가 */
				font-weight: bold;
				color: #666;
				cursor: pointer;
				z-index: 2;
				background-color: #fefefe;
				padding: 0; /* 패딩 제거 */
				height: 30px;
				width: 30px; /* 너비를 높이와 동일하게 설정 */
				display: flex; /* Flexbox 사용 */
				align-items: center; /* 세로 중앙 정렬 */
				justify-content: center; /* 가로 중앙 정렬 */
				border-radius: 0 10px 0 0; /* 우측 상단 모서리만 둥글게 */
				text-align: center;
				line-height: 1; /* line-height 초기화 */
			}

			.region-grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 20px;
				padding: 20px;
				max-height: calc(70vh - 90px); /* popup-content의 max-height에서 상단 여백 빼기 */
				overflow-y: auto; /* 그리드 내부에만 스크롤 적용 */
				overflow-x: hidden; 
				position: relative;
				top: 20px; /* 상단 여백 조정 */
			}

			/* 스크롤바 스타일링 */
			.region-grid::-webkit-scrollbar {
				width: 18px;
			}

			.region-grid::-webkit-scrollbar-track {
				background: #f1f1f1;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb {
				background: #e74c3c;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb:hover {
				background: #d44637;
			}

			.region-btn {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				padding: 10px;
				background-color: #ffffff;
				color: #000000 !important;
				font-size: 26px;
			}

			.region-btn img {
				width: auto;
				height: 100%;
				border-radius: 5px;
				position: relative;
				top: 50%;
				transform: translateY(-50%);
			}


			.scroll-to-top {
				position: fixed;
				bottom: 30px;
				right: 30px;
				width: 50px;
				height: 50px;
				background-color: rgba(255, 51, 51, 0.6);
				color: white;
				border: none;
				border-radius: 50%;
				cursor: pointer;
				display: none;
				justify-content: center;
				align-items: center;
				font-size: 20px;
				box-shadow: 0 2px 5px rgba(0,0,0,0.2);
				transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
				z-index: 1000;
				padding: 0;
				line-height: 1;
			}
			
			.scroll-to-top i {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				margin: 0;
			}
			
			.scroll-to-top:hover {
				background-color: rgba(255, 51, 51, 0.9);
				transform: translateY(-3px);
			}
			
			.scroll-to-top.visible {
				display: flex;
			}

			.button.style-transparent {
				font-size: 1.3em;
				background: transparent;
				border: 2px solid #e74c3c;
				color: #e74c3c !important;
				transition: all 0.3s ease;
			}

			.button.style-transparent:hover {
				background: #e74c3c;
				color: #ffffff !important;
			}	
		}


		/* 2개씩 정렬 */
		@media screen and (max-width: 1370px) and (min-width: 981px) {

			#main .inners {
				font-family: "Notosans", sans-serif;
				display: flex;
				flex-wrap: wrap;
				width: 100%;
				max-width: 1729px;
				justify-content: center;
				margin: 0 auto;
			}

			#banner {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				/*padding: 8em 4em 6em 4em;*/
				padding: 4em 4em 3em 4em;
				margin-top: -1em;
				min-height: 150px;
				max-height: 200px;
				background-image: url("../../images/banner.jpg");
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				border-top: 0;
				position: relative;
				text-align: center;
				overflow: hidden;
			}

			.thumbnails {
				display: grid;
				/* 3열 고정: 각 열의 너비를 420px로 지정하고 gap은 1.6em */
				grid-template-columns: repeat(2, 420px);
				gap: 1.6em;
				/* 그리드 전체를 가운데로 정렬 */
				justify-content: center;
			}

			.box {
				font-size: 12pt !important;
				font-weight: bold;
				display: flex;
				flex-direction: column;
				overflow: hidden; /* ✅ 넘치는 요소 방지 */
				width: calc((100% - (1.6em * 2)) / 3); /* ✅ 한 줄에 3개 유지 */
				max-width: 420px;
				min-width: 420px;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 250px;
				min-height: 250px;
				max-height: 250px;
				position: relative;
			}
		
			.box .image.fit img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background-color: #f5f5f5;
			}
		
			.box:hover .image.fit img {
				transform: scale(1.05);
			}
		
			.box .inner {
				padding: 1.0em 0.8em 0em 0.8em;
				background: white;
				cursor: pointer;
				-webkit-user-select: none;
				-ms-user-select: none;
				-moz-user-select: none;
				user-select: none;
			}
		
			.box .inner .product-name {
				color: #333 !important;
				font-size: 1.0em !important;
				font-weight: 500;
				margin: 0.8em 0 0em 0;
				padding-top: 0.5em;
				text-align: right;
			}
		
			.box .inner h3 {
				padding: 0;
				margin: 0;
				font-size: 1.3em;
				color: #333;
				font-weight: 700;
				line-height: 1;
			}
		
			.box .inner h3 .category {
				color: #FF69B4;
				font-size: 0.6em;
				margin-left: 1.3em;
				font-weight: 500;
				border: 1px solid #FF69B4;
				border-radius: 20px;
				padding: 1px 10px;
				display: inline-block;
				padding-top: 0.2em;
			}
		
			.box .inner p {
				font-size: 0.9em;
				margin: 0;
				padding: 0;
				color: #666;
				font-weight: 500;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner p:nth-child(2) {
				color: #D4AF37;
				margin-top: 0.05em;
				margin-bottom: -0.4em;
				font-weight: 600;
			}
			
			.box .inner p:nth-child(3) {
				margin-top: 1.2em;
				margin-bottom: -0.2em;
				font-size: 0.75em;
			}
		
			.box .inner p:nth-child(4) {
				color: #000000;
				font-size: 1.3em;
				font-weight: 600;
				margin-top: 0.8em;
				text-align: right;
			}
		
			.box .inner p:nth-child(4) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: bottom;
			}
		
			.box .inner p:nth-child(4) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price .currency {
				font-size: 0.65em;
				color: #888;
			}
		
			.box .inner p:nth-child(5) {
				color: #000000;
				font-size: 1.1em;
				font-weight: 600;
				text-align: right;
			}
		
			.box .inner p:nth-child(5) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: middle;
				position: relative;
				top: 1px;
			}
			
			.box .inner p:nth-child(5) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
			
			.box .inner p:nth-child(5) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			/* 가격 정보 */
			.box .inner .discount {
				color: #ff0000;
				font-weight: bold;
			}
		
			.box .inner .original-price {
				text-decoration: line-through;
				color: #888;
				margin-right: 0.5em;
			}
		
			/* 구분선 */
			.box .inner .divider {
				margin: 0.5em 0;
				border: none;
				border-top: 1px solid #eee;
			}
		
			/* 힐러 정보 */
			.box .inner > div:last-child {
				margin-left: 0.1em;
				margin-right: 0.1em;  /* 하단에 고정 */
				margin-top: 0em;
				display: flex;
				align-items: center;
				gap: 10px;
			}
		
			.box .inner .data-box {
				color: #ff0095; 
				border: 1px solid #ff0095;
				border-radius: 4px;
				padding: 0.7em;
				margin-bottom: 0em;
				margin-right: 10px;
				display: inline-block;
				font-size: 0.8em;
				min-width: 0.7em;
				text-align: center;
			}
		
			.box .inner .data-box:hover{
				color: #ffffff; 
				background-color: #ff0095;
				border: 1px solid #ff0095;
			}
		
			/* 힐러 라벨 */
			.box .inner > div:last-child > div:first-child {
				transform: translateY(-20%);
				margin-top: 1.2em;
				margin-right: auto; 
				font-size: 0.8em; 
				color: #ff0095; 
				display: flex; 
				align-items: center;
				text-align: center;
				flex-direction: column;
				min-width: 50px;
				width: 1em;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner .button {
				margin-top: 1em;
				background-color: #e74c3c;
				color: white;
				padding: 0.6em 1.2em;
				border-radius: 5px;
				text-transform: none;
				font-size: 0.9em;
				font-weight: 500;
				letter-spacing: 0.5px;
				transition: background-color 0.3s ease;
			}
		
			.box .inner .button:hover {
				background-color: #e74c3c;
			}



			/* Category Buttons */
			.category-buttons {
				display: flex;
				justify-content: center;
				gap: 20px;
				margin-bottom: 20px;
				padding: 0 20px;
			}

			.category-btn {
				font-weight: 600;
				padding: 10px 30px;
				border: 2px solid #ffffff;
				background: transparent;
				color: #e74c3c;
				border-radius: 50px;
				cursor: pointer;
				font-size: 26px;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				line-height: 1;
				min-height: 44px;
			}

			.category-btn:hover {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			.category-btn.active {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			/* Popup Styles */
			.popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0,0,0,0.7);
				z-index: 1000;
			}


			.popup-content {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* 상단 패딩을 늘려서 닫기 버튼 영역 확보 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 70vh;
				overflow-y: hidden; /* 전체 컨텐츠의 스크롤은 없음 */
			}


			.close-popup {
				position: absolute;
				right: 20px;
				top: 10px;
				font-size: 30px; /* 폰트 크기 증가 */
				font-weight: bold;
				color: #666;
				cursor: pointer;
				z-index: 2;
				background-color: #fefefe;
				padding: 0; /* 패딩 제거 */
				height: 30px;
				width: 30px; /* 너비를 높이와 동일하게 설정 */
				display: flex; /* Flexbox 사용 */
				align-items: center; /* 세로 중앙 정렬 */
				justify-content: center; /* 가로 중앙 정렬 */
				border-radius: 0 10px 0 0; /* 우측 상단 모서리만 둥글게 */
				text-align: center;
				line-height: 1; /* line-height 초기화 */
			}

			.region-grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 20px;
				padding: 20px;
				max-height: calc(70vh - 90px); /* popup-content의 max-height에서 상단 여백 빼기 */
				overflow-y: auto; /* 그리드 내부에만 스크롤 적용 */
				overflow-x: hidden; 
				position: relative;
				top: 20px; /* 상단 여백 조정 */
			}

			/* 스크롤바 스타일링 */
			.region-grid::-webkit-scrollbar {
				width: 18px;
			}

			.region-grid::-webkit-scrollbar-track {
				background: #f1f1f1;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb {
				background: #e74c3c;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb:hover {
				background: #d44637;
			}

			.region-btn {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				padding: 10px;
				background-color: #ffffff;
				color: #000000 !important;
				font-size: 26px;
			}

			.region-btn img {
				width: auto;
				height: 100%;
				border-radius: 5px;
				position: relative;
				top: 50%;
				transform: translateY(-50%);
			}


			.scroll-to-top {
				position: fixed;
				bottom: 30px;
				right: 30px;
				width: 50px;
				height: 50px;
				background-color: rgba(255, 51, 51, 0.6);
				color: white;
				border: none;
				border-radius: 50%;
				cursor: pointer;
				display: none;
				justify-content: center;
				align-items: center;
				font-size: 20px;
				box-shadow: 0 2px 5px rgba(0,0,0,0.2);
				transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
				z-index: 1000;
				padding: 0;
				line-height: 1;
			}
			
			.scroll-to-top i {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				margin: 0;
			}
			
			.scroll-to-top:hover {
				background-color: rgba(255, 51, 51, 0.9);
				transform: translateY(-3px);
			}
			
			.scroll-to-top.visible {
				display: flex;
			}

			.button.style-transparent {
				font-size: 1.3em;
				background: transparent;
				border: 2px solid #e74c3c;
				color: #e74c3c !important;
				transition: all 0.3s ease;
			}

			.button.style-transparent:hover {
				background: #e74c3c;
				color: #ffffff !important;
			}	
		}


		/* 모바일 화면 : 크기를 고정함 */
		@media screen and (max-width: 980px) {

			#main .inners {
				font-family: "Notosans", sans-serif;
				display: flex;
				flex-wrap: wrap;
				width: 978px;
				max-width: 978px;
				justify-content: center;
				margin: 0 auto;
			}

			#banner {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				/*padding: 8em 4em 6em 4em;*/
				padding: 64px 64px 48px 64px;
				margin-top: -1em;
				min-height: 150px;
				max-height: 200px;
				width: 978px;
				max-width: 978px;
				background-image: url("../../images/banner.jpg");
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				border-top: 0;
				position: relative;
				text-align: center;
				overflow: hidden;
			}

			.thumbnails {
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
				align-items: flex-start;
				width: 100%; /* 부모 크기 조정 */
				max-width: 100%; /* 최대 너비 설정 */
				min-width: 100%;
				margin: 0;
				padding: 0;
				gap: 1.6em; /* 간격 조정 */
			}

			.box {
				font-weight: bold;
				display: flex;
				flex-direction: column;
				overflow: hidden;
				max-width: 100%;
				min-width: 100%;
				width: 100%;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 590px;
				min-height: 590px;
				max-height: 590px;
				overflow: hidden;
				position: relative;
			}
		
			.box .image.fit img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background-color: #f5f5f5;
			}
		
			.box:hover .image.fit img {
				transform: scale(1.05);
			}
		
			.box .inner {
				padding: 1.0em 0.8em 0em 0.8em;
				background: white;
				cursor: pointer;
				-webkit-user-select: none;
				-ms-user-select: none;
				-moz-user-select: none;
				user-select: none;
			}
		
			.box .inner .product-name {
				color: #333 !important;
				font-size: 2.6em !important;
				font-weight: 500;
				margin: 0.8em 0 0em 0;
				padding-top: 0.5em;
				text-align: right;
			}
		
			.box .inner h3 {
				padding: 0;
				margin: 0;
				font-size: 2.6em;
				color: #333;
				font-weight: 700;
				line-height: 1;
			}
		
			.box .inner h3 .category {
				color: #FF69B4;
				font-size: 0.8em;
				margin-left: 1.3em;
				font-weight: 500;
				border: 1px solid #FF69B4;
				border-radius: 20px;
				padding: 1px 10px;
				display: inline-block;
				padding-top: 0.2em;
			}
		
			.box .inner p {
				font-size: 1.8em;
				margin: 0;
				padding: 0;
				color: #666;
				font-weight: 500;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner p:nth-child(2) {
				color: #D4AF37;
				margin-top: 0.05em;
				margin-bottom: -0.4em;
				font-weight: 600;
				font-size: 2.1em;
			}
			
			.box .inner p:nth-child(3) {
				margin-top: 1.2em;
				margin-bottom: -0.2em;
				font-size: 2.3em;
			}
		
			.box .inner p:nth-child(4) {
				color: #000000;
				font-size: 2.6em;
				font-weight: 600;
				margin-top: 0.8em;
				text-align: right;
			}
		
			.box .inner p:nth-child(4) .currency {
				font-size: 1.3em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: bottom;
			}
		
			.box .inner p:nth-child(4) .discount {
				color: #e74c3c;
				font-size: 1.6em;
				font-weight: 700;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price {
				color: #888;
				font-size: 1.5em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price .currency {
				font-size: 1.3em;
				color: #888;
			}
		
			.box .inner p:nth-child(5) {
				color: #000000;
				font-size: 2.3em;
				font-weight: 600;
				text-align: right;
			}
		
			.box .inner p:nth-child(5) .currency {
				font-size: 0.75em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: middle;
				position: relative;
				top: 1px;
			}
			
			.box .inner p:nth-child(5) .discount {
				color: #e74c3c;
				font-size: 1.1em;
				font-weight: 700;
				margin-right: 8px;
			}
			
			.box .inner p:nth-child(5) .original-price {
				color: #888;
				font-size: 1.1em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			/* 가격 정보 */
			.box .inner .discount {
				color: #ff0000;
				font-weight: bold;
			}

			.box .inner .discount-price {
				font-size: 1.7em;
			}
		
			.box .inner .original-price {
				font-size: 11.7em;
				text-decoration: line-through;
				color: #888888;
				margin-right: 0.5em;
			}
		
			/* 구분선 */
			.box .inner .divider {
				margin: 0.5em 0;
				border: none;
				border-top: 1px solid #eee;
			}
		
			/* 힐러 정보 */
			.box .inner > div:last-child {
				margin-left: 0.1em;
				margin-right: 0.1em;  /* 하단에 고정 */
				margin-top: 1.5em;
				display: flex;
				align-items: center;
				gap: 20px;
			}

			.data-box-title {
				margin-right: 30px;
			}
		
			.box .inner .data-box {
				color: #ff0095; 
				border: 1px solid #ff0095;
				border-radius: 4px;
				padding: 0.7em;
				margin-bottom: 0em;
				margin-right: 30px;
				display: inline-block;
				font-size: 2.1em;
				min-width: 0.7em;
				text-align: center;
			}
		
			.box .inner .data-box:hover{
				color: #ffffff; 
				background-color: #ff0095;
				border: 1px solid #ff0095;
			}
		
			/* 힐러 라벨 */
			.box .inner > div:last-child > div:first-child {
				transform: translateY(-20%);
				margin-top: 1.2em;
				margin-left: 0.3em;
				margin-right: auto; 
				font-size: 1.6em; 
				color: #ff0095; 
				display: flex; 
				align-items: center;
				text-align: center;
				flex-direction: column;
				min-width: 50px;
				width: 1em;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner .button {
				margin-top: 1em;
				background-color: #e74c3c;
				color: white;
				padding: 0.6em 1.2em;
				border-radius: 5px;
				text-transform: none;
				font-size: 1.8em;
				font-weight: 500;
				letter-spacing: 0.5px;
				transition: background-color 0.3s ease;
			}
		
			.box .inner .button:hover {
				background-color: #e74c3c;
			}


			/* Category Buttons */
			.category-buttons {
				display: flex;
				justify-content: center;
				gap: 20px;
				margin-bottom: 20px;
				padding: 0 20px;
			}

			.category-btn {
				font-weight: 600;
				padding: 10px 30px;
				border: 2px solid #ffffff;
				background: transparent;
				color: #e74c3c;
				border-radius: 50px;
				cursor: pointer;
				font-size: 45px;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				line-height: 1;
				min-height: 44px;
			}

			.category-btn:hover {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			.category-btn.active {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			/* Popup Styles */
			.popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0,0,0,0.7);
				z-index: 1000;
				overflow-y: hidden;
			}

			.popup-content {
				position: relative;
				background-color: #fefefe;
				margin: 150px auto;
				padding: 90px 20px 20px 20px; /* 상단 패딩을 늘려서 닫기 버튼 영역 확보 */
				width: 700px;
				max-width: 700px;
				border-radius: 10px;
				max-height: 750px;
				height: 750px;
				overflow: hidden; /* 전체 컨텐츠의 스크롤은 없음 */
			}


			.close-popup {
				position: absolute;
				right: 20px;
				top: 0;
				font-size: 70px; /* 폰트 크기 증가 */
				font-weight: bold;
				color: #666;
				cursor: pointer;
				z-index: 2;
				background-color: #fefefe;
				padding: 0; /* 패딩 제거 */
				height: 70px;
				width: 70px; /* 너비를 높이와 동일하게 설정 */
				display: flex; /* Flexbox 사용 */
				align-items: center; /* 세로 중앙 정렬 */
				justify-content: center; /* 가로 중앙 정렬 */
				border-radius: 0 10px 0 0; /* 우측 상단 모서리만 둥글게 */
				text-align: center;
				line-height: 1; /* line-height 초기화 */
			}

			.region-grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 20px;
				padding: 20px;
				max-height: calc(100% - 40px); /* popup-content의 max-height에서 상단 여백 빼기 */
				overflow-y: auto; /* 그리드 내부에만 스크롤 적용 */
				overflow-x: hidden; 
				position: relative;
				top: 30px; /* 상단 여백 조정 */
			}

			/* 스크롤바 스타일링 */
			.region-grid::-webkit-scrollbar {
				width: 18px;
			}

			.region-grid::-webkit-scrollbar-track {
				background: #f1f1f1;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb {
				background: #e74c3c;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb:hover {
				background: #d44637;
			}

			.region-grid.empty {
				display: none; /* 데이터가 없을 때 그리드 숨김 */
				overflow-y: hidden; /* 스크롤 비활성화 */
			}

			.region-btn {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				padding: 10px;
				background-color: #ffffff;
				color: #000000 !important;
				font-size: 38px;
			}

			.region-btn img {
				width: auto;
				height: 100%;
				border-radius: 5px;
				position: relative;
				top: 50%;
				transform: translateY(-50%);
			}


			.scroll-to-top {
				position: fixed;
				bottom: 30px;
				right: 30px;
				width: 100px;
				height: 100px;
				background-color: rgba(255, 51, 51, 0.6);
				color: white;
				border: none;
				border-radius: 50%;
				cursor: pointer;
				display: none;
				justify-content: center;
				align-items: center;
				font-size: 40px;
				box-shadow: 0 2px 5px rgba(0,0,0,0.2);
				transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
				z-index: 1000;
				padding: 0;
				line-height: 1;
			}
			
			.scroll-to-top i {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				margin: 0;
			}
			
			.scroll-to-top:hover {
				background-color: rgba(255, 51, 51, 0.9);
				transform: translateY(-3px);
			}
			
			.scroll-to-top.visible {
				display: flex;
			}

			.button.style-transparent {
				font-size: 2.0em;
				background: transparent;
				border: 2px solid #e74c3c;
				color: #e74c3c !important;
				transition: all 0.3s ease;
			}

			.button.style-transparent:hover {
				background: #e74c3c;
				color: #ffffff !important;
			}	

		}
		
		/* 2개씩 정렬 */
		/*@media screen and (max-width: 1619px) and (min-width: 1420px) {

			.thumbnails {
				background-color: #ffee00;
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start;
				align-items: flex-start;
				width: 60%;
				max-width: 1800px;
				margin: 0;
				padding: 0;
				gap: 1.6em;
			}

			.box {
				display: flex;
				flex-direction: column;
				overflow: hidden;
				width: calc((100% - (1.6em * 1)) / 2);
				max-width: none;
				min-width: 200px;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 45%;
				overflow: hidden;
				position: relative;
			}
		
			.box .image.fit img {
@charset "UTF-8";
@import url(font-awesome.min.css);
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400|Passion+One:400");

/*
	Full Motion by TEMPLATED
	templated.co @templatedco
	Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
*/

/* Reset */

	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline;
	}

	article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
		display: block;
	}

	body {
		line-height: 1;
	}

	ol, ul {
		list-style: none;
	}

	blockquote, q {
		quotes: none;
	}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

	table {
		border-collapse: collapse;
		border-spacing: 0;
	}

	body {
		-webkit-text-size-adjust: none;
	}

/* Box Model */

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

/* Basic */

	@-ms-viewport {
		width: device-width;
	}

	body {
		-ms-overflow-style: scrollbar;
		background: #ffffff;
	}

	/*@media screen and (max-width: 480px) {

		html, body {
			min-width: 320px;
		}

	}*/

	body {
		-webkit-text-size-adjust: none;
	}

		body.is-loading *, body.is-loading *:before, body.is-loading *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

/* Type */

	body, input, select, textarea {
		color: #666666;
		font-family: "Notosans", sans-serif;
		font-size: 14pt;
		font-weight: 300;
		line-height: 1.65;
	}

		@media screen and (max-width: 18800px) and (min-width: 1790px)  {

			#main .inners {
				font-family: "Notosans", sans-serif;
				display: flex;
				flex-wrap: wrap;
				width: 100%;
				max-width: 98%;
				justify-content: center;
				margin: 0 auto;
			}

			#banner {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				/*padding: 8em 4em 6em 4em;*/
				padding: 4em 4em 3em 4em;
				margin-top: -1em;
				min-height: 150px;
				max-height: 200px;
				background-image: url("../../images/banner.jpg");
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				border-top: 0;
				position: relative;
				text-align: center;
				overflow: hidden;
			}

			.thumbnails {
				display: grid;
				/* 3열 고정: 각 열의 너비를 420px로 지정하고 gap은 1.6em */
				grid-template-columns: repeat(4, 420px);
				gap: 1.6em;
				/* 그리드 전체를 가운데로 정렬 */
				justify-content: center;
			}
		
			.box {
				font-size: 12pt !important;
				font-weight: bold;
				display: flex;
				flex-direction: column;
				overflow: hidden; /* ✅ 넘치는 요소 방지 */
				width: calc((100% - (1.6em * 3)) / 4); /* ✅ 한 줄에 4개 유지 */
				max-width: 420px;
				min-width: 420px;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 260px;
				min-height: 260px;
				max-height: 260px;
				overflow: hidden;
				position: relative;
			}
		
			.box .image.fit img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background-color: #f5f5f5;
			}
		
			.box:hover .image.fit img {
				transform: scale(1.05);
			}
		
			.box .inner {
				padding: 1.0em 0.8em 0em 0.8em;
				background: white;
				cursor: pointer;
				-webkit-user-select: none;
				-ms-user-select: none;
				-moz-user-select: none;
				user-select: none;
			}
		
			.box .inner .product-name {
				color: #333 !important;
				font-size: 1.0em !important;
				font-weight: 500;
				margin: 0.8em 0 0em 0;
				padding-top: 0.5em;
				text-align: right;
			}
		
			.box .inner h3 {
				padding: 0;
				margin: 0;
				font-size: 1.3em;
				color: #333;
				font-weight: 700;
				line-height: 1;
			}
		
			.box .inner h3 .category {
				color: #FF69B4;
				font-size: 0.6em;
				margin-left: 1.3em;
				font-weight: 500;
				border: 1px solid #FF69B4;
				border-radius: 20px;
				padding: 1px 10px;
				display: inline-block;
				padding-top: 0.2em;
			}
		
			.box .inner p {
				font-size: 0.9em;
				margin: 0;
				padding: 0;
				color: #666;
				font-weight: 500;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner p:nth-child(2) {
				color: #D4AF37;
				margin-top: 0.05em;
				margin-bottom: -0.4em;
				font-weight: 600;
			}
			
			.box .inner p:nth-child(3) {
				margin-top: 1.2em;
				margin-bottom: -0.2em;
				font-size: 0.75em;
			}
		
			.box .inner p:nth-child(4) {
				color: #000000;
				font-size: 1.3em;
				font-weight: 600;
				margin-top: 0.8em;
				text-align: right;
			}
		
			.box .inner p:nth-child(4) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: bottom;
			}
		
			.box .inner p:nth-child(4) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price .currency {
				font-size: 0.65em;
				color: #888;
			}
		
			.box .inner p:nth-child(5) {
				color: #000000;
				font-size: 1.1em;
				font-weight: 600;
				text-align: right;
			}
		
			.box .inner p:nth-child(5) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: middle;
				position: relative;
				top: 1px;
			}
			
			.box .inner p:nth-child(5) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
			
			.box .inner p:nth-child(5) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			/* 가격 정보 */
			.box .inner .discount {
				color: #ff0000;
				font-weight: bold;
			}
		
			.box .inner .original-price {
				text-decoration: line-through;
				color: #888;
				margin-right: 0.5em;
			}
		
			/* 구분선 */
			.box .inner .divider {
				margin: 0.5em 0;
				border: none;
				border-top: 1px solid #eee;
			}
		
			/* 힐러 정보 */
			.box .inner > div:last-child {
				margin-left: 0.1em;
				margin-right: 0.1em;  /* 하단에 고정 */
				margin-top: 0em;
				display: flex;
				align-items: center;
				gap: 10px;
			}
		
			.box .inner .data-box {
				color: #ff0095; 
				border: 1px solid #ff0095;
				border-radius: 4px;
				padding: 0.7em;
				margin-bottom: 0em;
				margin-right: 10px;
				display: inline-block;
				font-size: 0.8em;
				min-width: 0.7em;
				text-align: center;
			}
		
			.box .inner .data-box:hover{
				color: #ffffff; 
				background-color: #ff0095;
				border: 1px solid #ff0095;
			}
		
			/* 힐러 라벨 */
			.box .inner > div:last-child > div:first-child {
				transform: translateY(-20%);
				margin-top: 1.2em;
				margin-right: auto; 
				font-size: 0.8em; 
				color: #ff0095; 
				display: flex; 
				align-items: center;
				text-align: center;
				flex-direction: column;
				min-width: 50px;
				width: 1em;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner .button {
				margin-top: 1em;
				background-color: #e74c3c;
				color: white;
				padding: 0.6em 1.2em;
				border-radius: 5px;
				text-transform: none;
				font-size: 0.9em;
				font-weight: 500;
				letter-spacing: 0.5px;
				transition: background-color 0.3s ease;
			}
		
			.box .inner .button:hover {
				background-color: #e74c3c;
			}


			/* Category Buttons */
			.category-buttons {
				display: flex;
				justify-content: center;
				gap: 20px;
				margin-bottom: 20px;
				padding: 0 20px;
			}

			.category-btn {
				font-weight: 600;
				padding: 10px 30px;
				border: 2px solid #ffffff;
				background: transparent;
				color: #e74c3c;
				border-radius: 50px;
				cursor: pointer;
				font-size: 26px;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				line-height: 1;
				min-height: 44px;
			}

			.category-btn:hover {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			.category-btn.active {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			/* Popup Styles */
			.popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0,0,0,0.7);
				z-index: 1000;
			}

			.popup-content {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* 상단 패딩을 늘려서 닫기 버튼 영역 확보 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 70vh;
				overflow-y: hidden; /* 전체 컨텐츠의 스크롤은 없음 */
			}


			.close-popup {
				position: absolute;
				right: 20px;
				top: 10px;
				font-size: 30px; /* 폰트 크기 증가 */
				font-weight: bold;
				color: #666;
				cursor: pointer;
				z-index: 2;
				background-color: #fefefe;
				padding: 0; /* 패딩 제거 */
				height: 30px;
				width: 30px; /* 너비를 높이와 동일하게 설정 */
				display: flex; /* Flexbox 사용 */
				align-items: center; /* 세로 중앙 정렬 */
				justify-content: center; /* 가로 중앙 정렬 */
				border-radius: 0 10px 0 0; /* 우측 상단 모서리만 둥글게 */
				text-align: center;
				line-height: 1; /* line-height 초기화 */
			}

			.region-grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 20px;
				padding: 20px;
				max-height: calc(70vh - 90px); /* popup-content의 max-height에서 상단 여백 빼기 */
				overflow-y: auto; /* 그리드 내부에만 스크롤 적용 */
				overflow-x: hidden; 
				position: relative;
				top: 20px; /* 상단 여백 조정 */
			}

			/* 스크롤바 스타일링 */
			.region-grid::-webkit-scrollbar {
				width: 18px;
			}

			.region-grid::-webkit-scrollbar-track {
				background: #f1f1f1;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb {
				background: #e74c3c;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb:hover {
				background: #d44637;
			}

			.region-btn {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				padding: 10px;
				background-color: #ffffff;
				color: #000000 !important;
				font-size: 26px;
			}

			.region-btn img {
				width: auto;
				height: 100%;
				border-radius: 5px;
				position: relative;
				top: 50%;
				transform: translateY(-50%);
			}


			.scroll-to-top {
				position: fixed;
				bottom: 30px;
				right: 30px;
				width: 50px;
				height: 50px;
				background-color: rgba(255, 51, 51, 0.6);
				color: white;
				border: none;
				border-radius: 50%;
				cursor: pointer;
				display: none;
				justify-content: center;
				align-items: center;
				font-size: 20px;
				box-shadow: 0 2px 5px rgba(0,0,0,0.2);
				transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
				z-index: 1000;
				padding: 0;
				line-height: 1;
			}
			
			.scroll-to-top i {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				margin: 0;
			}
			
			.scroll-to-top:hover {
				background-color: rgba(255, 51, 51, 0.9);
				transform: translateY(-3px);
			}
			
			.scroll-to-top.visible {
				display: flex;
			}

			.button.style-transparent {
				font-size: 1.3em;
				background: transparent;
				border: 2px solid #e74c3c;
				color: #e74c3c !important;
				transition: all 0.3s ease;
			}

			.button.style-transparent:hover {
				background: #e74c3c;
				color: #ffffff !important;
			}	
		}	


		/* 3개씩 정렬 */
		@media screen and (max-width: 1789px) and (min-width: 1371px) {

			#main .inners {
				font-family: "Notosans", sans-serif;
				display: flex;
				flex-wrap: wrap;
				width: 100%;
				max-width: 1729px;
				justify-content: center;
				margin: 0 auto;
			}

			#banner {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				/*padding: 8em 4em 6em 4em;*/
				padding: 4em 4em 3em 4em;
				margin-top: -1em;
				min-height: 150px;
				max-height: 200px;
				background-image: url("../../images/banner.jpg");
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				border-top: 0;
				position: relative;
				text-align: center;
				overflow: hidden;
			}

			.thumbnails {
				display: grid;
				/* 3열 고정: 각 열의 너비를 420px로 지정하고 gap은 1.6em */
				grid-template-columns: repeat(3, 420px);
				gap: 1.6em;
				/* 그리드 전체를 가운데로 정렬 */
				justify-content: center;
			}

			.box {
				font-size: 12pt !important;
				font-weight: bold;
				display: flex;
				flex-direction: column;
				overflow: hidden; /* ✅ 넘치는 요소 방지 */
				width: calc((100% - (1.6em * 2)) / 3); /* ✅ 한 줄에 3개 유지 */
				max-width: 420px;
				min-width: 420px;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 250px;
				min-height: 250px;
				max-height: 250px;
				position: relative;
			}
		
			.box .image.fit img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background-color: #f5f5f5;
			}
		
			.box:hover .image.fit img {
				transform: scale(1.05);
			}
		
			.box .inner {
				padding: 1.0em 0.8em 0em 0.8em;
				background: white;
				cursor: pointer;
				-webkit-user-select: none;
				-ms-user-select: none;
				-moz-user-select: none;
				user-select: none;
			}
		
			.box .inner .product-name {
				color: #333 !important;
				font-size: 1.0em !important;
				font-weight: 500;
				margin: 0.8em 0 0em 0;
				padding-top: 0.5em;
				text-align: right;
			}
		
			.box .inner h3 {
				padding: 0;
				margin: 0;
				font-size: 1.3em;
				color: #333;
				font-weight: 700;
				line-height: 1;
			}
		
			.box .inner h3 .category {
				color: #FF69B4;
				font-size: 0.6em;
				margin-left: 1.3em;
				font-weight: 500;
				border: 1px solid #FF69B4;
				border-radius: 20px;
				padding: 1px 10px;
				display: inline-block;
				padding-top: 0.2em;
			}
		
			.box .inner p {
				font-size: 0.9em;
				margin: 0;
				padding: 0;
				color: #666;
				font-weight: 500;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner p:nth-child(2) {
				color: #D4AF37;
				margin-top: 0.05em;
				margin-bottom: -0.4em;
				font-weight: 600;
			}
			
			.box .inner p:nth-child(3) {
				margin-top: 1.2em;
				margin-bottom: -0.2em;
				font-size: 0.75em;
			}
		
			.box .inner p:nth-child(4) {
				color: #000000;
				font-size: 1.3em;
				font-weight: 600;
				margin-top: 0.8em;
				text-align: right;
			}
		
			.box .inner p:nth-child(4) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: bottom;
			}
		
			.box .inner p:nth-child(4) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price .currency {
				font-size: 0.65em;
				color: #888;
			}
		
			.box .inner p:nth-child(5) {
				color: #000000;
				font-size: 1.1em;
				font-weight: 600;
				text-align: right;
			}
		
			.box .inner p:nth-child(5) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: middle;
				position: relative;
				top: 1px;
			}
			
			.box .inner p:nth-child(5) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
			
			.box .inner p:nth-child(5) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			/* 가격 정보 */
			.box .inner .discount {
				color: #ff0000;
				font-weight: bold;
			}
		
			.box .inner .original-price {
				text-decoration: line-through;
				color: #888;
				margin-right: 0.5em;
			}
		
			/* 구분선 */
			.box .inner .divider {
				margin: 0.5em 0;
				border: none;
				border-top: 1px solid #eee;
			}
		
			/* 힐러 정보 */
			.box .inner > div:last-child {
				margin-left: 0.1em;
				margin-right: 0.1em;  /* 하단에 고정 */
				margin-top: 0em;
				display: flex;
				align-items: center;
				gap: 10px;
			}
		
			.box .inner .data-box {
				color: #ff0095; 
				border: 1px solid #ff0095;
				border-radius: 4px;
				padding: 0.7em;
				margin-bottom: 0em;
				margin-right: 10px;
				display: inline-block;
				font-size: 0.8em;
				min-width: 0.7em;
				text-align: center;
			}
		
			.box .inner .data-box:hover{
				color: #ffffff; 
				background-color: #ff0095;
				border: 1px solid #ff0095;
			}
		
			/* 힐러 라벨 */
			.box .inner > div:last-child > div:first-child {
				transform: translateY(-20%);
				margin-top: 1.2em;
				margin-right: auto; 
				font-size: 0.8em; 
				color: #ff0095; 
				display: flex; 
				align-items: center;
				text-align: center;
				flex-direction: column;
				min-width: 50px;
				width: 1em;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner .button {
				margin-top: 1em;
				background-color: #e74c3c;
				color: white;
				padding: 0.6em 1.2em;
				border-radius: 5px;
				text-transform: none;
				font-size: 0.9em;
				font-weight: 500;
				letter-spacing: 0.5px;
				transition: background-color 0.3s ease;
			}
		
			.box .inner .button:hover {
				background-color: #e74c3c;
			}



			/* Category Buttons */
			.category-buttons {
				display: flex;
				justify-content: center;
				gap: 20px;
				margin-bottom: 20px;
				padding: 0 20px;
			}

			.category-btn {
				font-weight: 600;
				padding: 10px 30px;
				border: 2px solid #ffffff;
				background: transparent;
				color: #e74c3c;
				border-radius: 50px;
				cursor: pointer;
				font-size: 26px;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				line-height: 1;
				min-height: 44px;
			}

			.category-btn:hover {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			.category-btn.active {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			/* Popup Styles */
			.popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0,0,0,0.7);
				z-index: 1000;
			}


			.popup-content {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* 상단 패딩을 늘려서 닫기 버튼 영역 확보 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 70vh;
				overflow-y: hidden; /* 전체 컨텐츠의 스크롤은 없음 */
			}


			.close-popup {
				position: absolute;
				right: 20px;
				top: 10px;
				font-size: 30px; /* 폰트 크기 증가 */
				font-weight: bold;
				color: #666;
				cursor: pointer;
				z-index: 2;
				background-color: #fefefe;
				padding: 0; /* 패딩 제거 */
				height: 30px;
				width: 30px; /* 너비를 높이와 동일하게 설정 */
				display: flex; /* Flexbox 사용 */
				align-items: center; /* 세로 중앙 정렬 */
				justify-content: center; /* 가로 중앙 정렬 */
				border-radius: 0 10px 0 0; /* 우측 상단 모서리만 둥글게 */
				text-align: center;
				line-height: 1; /* line-height 초기화 */
			}

			.region-grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 20px;
				padding: 20px;
				max-height: calc(70vh - 90px); /* popup-content의 max-height에서 상단 여백 빼기 */
				overflow-y: auto; /* 그리드 내부에만 스크롤 적용 */
				overflow-x: hidden; 
				position: relative;
				top: 20px; /* 상단 여백 조정 */
			}

			/* 스크롤바 스타일링 */
			.region-grid::-webkit-scrollbar {
				width: 18px;
			}

			.region-grid::-webkit-scrollbar-track {
				background: #f1f1f1;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb {
				background: #e74c3c;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb:hover {
				background: #d44637;
			}

			.region-btn {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				padding: 10px;
				background-color: #ffffff;
				color: #000000 !important;
				font-size: 26px;
			}

			.region-btn img {
				width: auto;
				height: 100%;
				border-radius: 5px;
				position: relative;
				top: 50%;
				transform: translateY(-50%);
			}


			.scroll-to-top {
				position: fixed;
				bottom: 30px;
				right: 30px;
				width: 50px;
				height: 50px;
				background-color: rgba(255, 51, 51, 0.6);
				color: white;
				border: none;
				border-radius: 50%;
				cursor: pointer;
				display: none;
				justify-content: center;
				align-items: center;
				font-size: 20px;
				box-shadow: 0 2px 5px rgba(0,0,0,0.2);
				transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
				z-index: 1000;
				padding: 0;
				line-height: 1;
			}
			
			.scroll-to-top i {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				margin: 0;
			}
			
			.scroll-to-top:hover {
				background-color: rgba(255, 51, 51, 0.9);
				transform: translateY(-3px);
			}
			
			.scroll-to-top.visible {
				display: flex;
			}

			.button.style-transparent {
				font-size: 1.3em;
				background: transparent;
				border: 2px solid #e74c3c;
				color: #e74c3c !important;
				transition: all 0.3s ease;
			}

			.button.style-transparent:hover {
				background: #e74c3c;
				color: #ffffff !important;
			}	
		}


		/* 2개씩 정렬 */
		@media screen and (max-width: 1370px) and (min-width: 981px) {

			#main .inners {
				font-family: "Notosans", sans-serif;
				display: flex;
				flex-wrap: wrap;
				width: 100%;
				max-width: 1729px;
				justify-content: center;
				margin: 0 auto;
			}

			#banner {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				/*padding: 8em 4em 6em 4em;*/
				padding: 4em 4em 3em 4em;
				margin-top: -1em;
				min-height: 150px;
				max-height: 200px;
				background-image: url("../../images/banner.jpg");
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				border-top: 0;
				position: relative;
				text-align: center;
				overflow: hidden;
			}

			.thumbnails {
				display: grid;
				/* 3열 고정: 각 열의 너비를 420px로 지정하고 gap은 1.6em */
				grid-template-columns: repeat(2, 420px);
				gap: 1.6em;
				/* 그리드 전체를 가운데로 정렬 */
				justify-content: center;
			}

			.box {
				font-size: 12pt !important;
				font-weight: bold;
				display: flex;
				flex-direction: column;
				overflow: hidden; /* ✅ 넘치는 요소 방지 */
				width: calc((100% - (1.6em * 2)) / 3); /* ✅ 한 줄에 3개 유지 */
				max-width: 420px;
				min-width: 420px;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 250px;
				min-height: 250px;
				max-height: 250px;
				position: relative;
			}
		
			.box .image.fit img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background-color: #f5f5f5;
			}
		
			.box:hover .image.fit img {
				transform: scale(1.05);
			}
		
			.box .inner {
				padding: 1.0em 0.8em 0em 0.8em;
				background: white;
				cursor: pointer;
				-webkit-user-select: none;
				-ms-user-select: none;
				-moz-user-select: none;
				user-select: none;
			}
		
			.box .inner .product-name {
				color: #333 !important;
				font-size: 1.0em !important;
				font-weight: 500;
				margin: 0.8em 0 0em 0;
				padding-top: 0.5em;
				text-align: right;
			}
		
			.box .inner h3 {
				padding: 0;
				margin: 0;
				font-size: 1.3em;
				color: #333;
				font-weight: 700;
				line-height: 1;
			}
		
			.box .inner h3 .category {
				color: #FF69B4;
				font-size: 0.6em;
				margin-left: 1.3em;
				font-weight: 500;
				border: 1px solid #FF69B4;
				border-radius: 20px;
				padding: 1px 10px;
				display: inline-block;
				padding-top: 0.2em;
			}
		
			.box .inner p {
				font-size: 0.9em;
				margin: 0;
				padding: 0;
				color: #666;
				font-weight: 500;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner p:nth-child(2) {
				color: #D4AF37;
				margin-top: 0.05em;
				margin-bottom: -0.4em;
				font-weight: 600;
			}
			
			.box .inner p:nth-child(3) {
				margin-top: 1.2em;
				margin-bottom: -0.2em;
				font-size: 0.75em;
			}
		
			.box .inner p:nth-child(4) {
				color: #000000;
				font-size: 1.3em;
				font-weight: 600;
				margin-top: 0.8em;
				text-align: right;
			}
		
			.box .inner p:nth-child(4) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: bottom;
			}
		
			.box .inner p:nth-child(4) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price .currency {
				font-size: 0.65em;
				color: #888;
			}
		
			.box .inner p:nth-child(5) {
				color: #000000;
				font-size: 1.1em;
				font-weight: 600;
				text-align: right;
			}
		
			.box .inner p:nth-child(5) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: middle;
				position: relative;
				top: 1px;
			}
			
			.box .inner p:nth-child(5) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
			
			.box .inner p:nth-child(5) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			/* 가격 정보 */
			.box .inner .discount {
				color: #ff0000;
				font-weight: bold;
			}
		
			.box .inner .original-price {
				text-decoration: line-through;
				color: #888;
				margin-right: 0.5em;
			}
		
			/* 구분선 */
			.box .inner .divider {
				margin: 0.5em 0;
				border: none;
				border-top: 1px solid #eee;
			}
		
			/* 힐러 정보 */
			.box .inner > div:last-child {
				margin-left: 0.1em;
				margin-right: 0.1em;  /* 하단에 고정 */
				margin-top: 0em;
				display: flex;
				align-items: center;
				gap: 10px;
			}
		
			.box .inner .data-box {
				color: #ff0095; 
				border: 1px solid #ff0095;
				border-radius: 4px;
				padding: 0.7em;
				margin-bottom: 0em;
				margin-right: 10px;
				display: inline-block;
				font-size: 0.8em;
				min-width: 0.7em;
				text-align: center;
			}
		
			.box .inner .data-box:hover{
				color: #ffffff; 
				background-color: #ff0095;
				border: 1px solid #ff0095;
			}
		
			/* 힐러 라벨 */
			.box .inner > div:last-child > div:first-child {
				transform: translateY(-20%);
				margin-top: 1.2em;
				margin-right: auto; 
				font-size: 0.8em; 
				color: #ff0095; 
				display: flex; 
				align-items: center;
				text-align: center;
				flex-direction: column;
				min-width: 50px;
				width: 1em;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner .button {
				margin-top: 1em;
				background-color: #e74c3c;
				color: white;
				padding: 0.6em 1.2em;
				border-radius: 5px;
				text-transform: none;
				font-size: 0.9em;
				font-weight: 500;
				letter-spacing: 0.5px;
				transition: background-color 0.3s ease;
			}
		
			.box .inner .button:hover {
				background-color: #e74c3c;
			}



			/* Category Buttons */
			.category-buttons {
				display: flex;
				justify-content: center;
				gap: 20px;
				margin-bottom: 20px;
				padding: 0 20px;
			}

			.category-btn {
				font-weight: 600;
				padding: 10px 30px;
				border: 2px solid #ffffff;
				background: transparent;
				color: #e74c3c;
				border-radius: 50px;
				cursor: pointer;
				font-size: 26px;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				line-height: 1;
				min-height: 44px;
			}

			.category-btn:hover {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			.category-btn.active {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			/* Popup Styles */
			.popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0,0,0,0.7);
				z-index: 1000;
			}


			.popup-content {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* 상단 패딩을 늘려서 닫기 버튼 영역 확보 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 70vh;
				overflow-y: hidden; /* 전체 컨텐츠의 스크롤은 없음 */
			}


			.close-popup {
				position: absolute;
				right: 20px;
				top: 10px;
				font-size: 30px; /* 폰트 크기 증가 */
				font-weight: bold;
				color: #666;
				cursor: pointer;
				z-index: 2;
				background-color: #fefefe;
				padding: 0; /* 패딩 제거 */
				height: 30px;
				width: 30px; /* 너비를 높이와 동일하게 설정 */
				display: flex; /* Flexbox 사용 */
				align-items: center; /* 세로 중앙 정렬 */
				justify-content: center; /* 가로 중앙 정렬 */
				border-radius: 0 10px 0 0; /* 우측 상단 모서리만 둥글게 */
				text-align: center;
				line-height: 1; /* line-height 초기화 */
			}

			.region-grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 20px;
				padding: 20px;
				max-height: calc(70vh - 90px); /* popup-content의 max-height에서 상단 여백 빼기 */
				overflow-y: auto; /* 그리드 내부에만 스크롤 적용 */
				overflow-x: hidden; 
				position: relative;
				top: 20px; /* 상단 여백 조정 */
			}

			/* 스크롤바 스타일링 */
			.region-grid::-webkit-scrollbar {
				width: 18px;
			}

			.region-grid::-webkit-scrollbar-track {
				background: #f1f1f1;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb {
				background: #e74c3c;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb:hover {
				background: #d44637;
			}

			.region-btn {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				padding: 10px;
				background-color: #ffffff;
				color: #000000 !important;
				font-size: 26px;
			}

			.region-btn img {
				width: auto;
				height: 100%;
				border-radius: 5px;
				position: relative;
				top: 50%;
				transform: translateY(-50%);
			}


			.scroll-to-top {
				position: fixed;
				bottom: 30px;
				right: 30px;
				width: 50px;
				height: 50px;
				background-color: rgba(255, 51, 51, 0.6);
				color: white;
				border: none;
				border-radius: 50%;
				cursor: pointer;
				display: none;
				justify-content: center;
				align-items: center;
				font-size: 20px;
				box-shadow: 0 2px 5px rgba(0,0,0,0.2);
				transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
				z-index: 1000;
				padding: 0;
				line-height: 1;
			}
			
			.scroll-to-top i {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				margin: 0;
			}
			
			.scroll-to-top:hover {
				background-color: rgba(255, 51, 51, 0.9);
				transform: translateY(-3px);
			}
			
			.scroll-to-top.visible {
				display: flex;
			}

			.button.style-transparent {
				font-size: 1.3em;
				background: transparent;
				border: 2px solid #e74c3c;
				color: #e74c3c !important;
				transition: all 0.3s ease;
			}

			.button.style-transparent:hover {
				background: #e74c3c;
				color: #ffffff !important;
			}	
		}


		/* 모바일 화면 : 크기를 고정함 */
		@media screen and (max-width: 980px) {

			#main .inners {
				font-family: "Notosans", sans-serif;
				display: flex;
				flex-wrap: wrap;
				width: 978px;
				max-width: 978px;
				justify-content: center;
				margin: 0 auto;
			}

			#banner {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				/*padding: 8em 4em 6em 4em;*/
				padding: 64px 64px 48px 64px;
				margin-top: -1em;
				min-height: 150px;
				max-height: 200px;
				width: 978px;
				max-width: 978px;
				background-image: url("../../images/banner.jpg");
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				border-top: 0;
				position: relative;
				text-align: center;
				overflow: hidden;
			}

			.thumbnails {
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
				align-items: flex-start;
				width: 100%; /* 부모 크기 조정 */
				max-width: 100%; /* 최대 너비 설정 */
				min-width: 100%;
				margin: 0;
				padding: 0;
				gap: 1.6em; /* 간격 조정 */
			}

			.box {
				font-weight: bold;
				display: flex;
				flex-direction: column;
				overflow: hidden;
				max-width: 100%;
				min-width: 100%;
				width: 100%;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 590px;
				min-height: 590px;
				max-height: 590px;
				overflow: hidden;
				position: relative;
			}
		
			.box .image.fit img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background-color: #f5f5f5;
			}
		
			.box:hover .image.fit img {
				transform: scale(1.05);
			}
		
			.box .inner {
				padding: 1.0em 0.8em 0em 0.8em;
				background: white;
				cursor: pointer;
				-webkit-user-select: none;
				-ms-user-select: none;
				-moz-user-select: none;
				user-select: none;
			}
		
			.box .inner .product-name {
				color: #333 !important;
				font-size: 2.6em !important;
				font-weight: 500;
				margin: 0.8em 0 0em 0;
				padding-top: 0.5em;
				text-align: right;
			}
		
			.box .inner h3 {
				padding: 0;
				margin: 0;
				font-size: 2.6em;
				color: #333;
				font-weight: 700;
				line-height: 1;
			}
		
			.box .inner h3 .category {
				color: #FF69B4;
				font-size: 0.8em;
				margin-left: 1.3em;
				font-weight: 500;
				border: 1px solid #FF69B4;
				border-radius: 20px;
				padding: 1px 10px;
				display: inline-block;
				padding-top: 0.2em;
			}
		
			.box .inner p {
				font-size: 1.8em;
				margin: 0;
				padding: 0;
				color: #666;
				font-weight: 500;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner p:nth-child(2) {
				color: #D4AF37;
				margin-top: 0.05em;
				margin-bottom: -0.4em;
				font-weight: 600;
				font-size: 2.1em;
			}
			
			.box .inner p:nth-child(3) {
				margin-top: 1.2em;
				margin-bottom: -0.2em;
				font-size: 2.3em;
			}
		
			.box .inner p:nth-child(4) {
				color: #000000;
				font-size: 2.6em;
				font-weight: 600;
				margin-top: 0.8em;
				text-align: right;
			}
		
			.box .inner p:nth-child(4) .currency {
				font-size: 1.3em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: bottom;
			}
		
			.box .inner p:nth-child(4) .discount {
				color: #e74c3c;
				font-size: 1.6em;
				font-weight: 700;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price {
				color: #888;
				font-size: 1.5em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price .currency {
				font-size: 1.3em;
				color: #888;
			}
		
			.box .inner p:nth-child(5) {
				color: #000000;
				font-size: 2.3em;
				font-weight: 600;
				text-align: right;
			}
		
			.box .inner p:nth-child(5) .currency {
				font-size: 0.75em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: middle;
				position: relative;
				top: 1px;
			}
			
			.box .inner p:nth-child(5) .discount {
				color: #e74c3c;
				font-size: 1.1em;
				font-weight: 700;
				margin-right: 8px;
			}
			
			.box .inner p:nth-child(5) .original-price {
				color: #888;
				font-size: 1.1em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			/* 가격 정보 */
			.box .inner .discount {
				color: #ff0000;
				font-weight: bold;
			}

			.box .inner .discount-price {
				font-size: 1.7em;
			}
		
			.box .inner .original-price {
				font-size: 11.7em;
				text-decoration: line-through;
				color: #888888;
				margin-right: 0.5em;
			}
		
			/* 구분선 */
			.box .inner .divider {
				margin: 0.5em 0;
				border: none;
				border-top: 1px solid #eee;
			}
		
			/* 힐러 정보 */
			.box .inner > div:last-child {
				margin-left: 0.1em;
				margin-right: 0.1em;  /* 하단에 고정 */
				margin-top: 1.5em;
				display: flex;
				align-items: center;
				gap: 20px;
			}

			.data-box-title {
				margin-right: 30px;
			}
		
			.box .inner .data-box {
				color: #ff0095; 
				border: 1px solid #ff0095;
				border-radius: 4px;
				padding: 0.7em;
				margin-bottom: 0em;
				margin-right: 30px;
				display: inline-block;
				font-size: 2.1em;
				min-width: 0.7em;
				text-align: center;
			}
		
			.box .inner .data-box:hover{
				color: #ffffff; 
				background-color: #ff0095;
				border: 1px solid #ff0095;
			}
		
			/* 힐러 라벨 */
			.box .inner > div:last-child > div:first-child {
				transform: translateY(-20%);
				margin-top: 1.2em;
				margin-left: 0.3em;
				margin-right: auto; 
				font-size: 1.6em; 
				color: #ff0095; 
				display: flex; 
				align-items: center;
				text-align: center;
				flex-direction: column;
				min-width: 50px;
				width: 1em;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner .button {
				margin-top: 1em;
				background-color: #e74c3c;
				color: white;
				padding: 0.6em 1.2em;
				border-radius: 5px;
				text-transform: none;
				font-size: 1.8em;
				font-weight: 500;
				letter-spacing: 0.5px;
				transition: background-color 0.3s ease;
			}
		
			.box .inner .button:hover {
				background-color: #e74c3c;
			}


			/* Category Buttons */
			.category-buttons {
				display: flex;
				justify-content: center;
				gap: 20px;
				margin-bottom: 20px;
				padding: 0 20px;
			}

			.category-btn {
				font-weight: 600;
				padding: 10px 30px;
				border: 2px solid #ffffff;
				background: transparent;
				color: #e74c3c;
				border-radius: 50px;
				cursor: pointer;
				font-size: 45px;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				line-height: 1;
				min-height: 44px;
			}

			.category-btn:hover {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			.category-btn.active {
				color: #e74c3c !important;
				background: #ffffff;
				border: 2px solid #e74c3c;
			}

			/* Popup Styles */
			.popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0,0,0,0.7);
				z-index: 1000;
				overflow-y: hidden;
			}

			.popup-content {
				position: relative;
				background-color: #fefefe;
				margin: 150px auto;
				padding: 90px 20px 20px 20px; /* 상단 패딩을 늘려서 닫기 버튼 영역 확보 */
				width: 700px;
				max-width: 700px;
				border-radius: 10px;
				max-height: 750px;
				height: 750px;
				overflow: hidden; /* 전체 컨텐츠의 스크롤은 없음 */
			}


			.close-popup {
				position: absolute;
				right: 20px;
				top: 0;
				font-size: 70px; /* 폰트 크기 증가 */
				font-weight: bold;
				color: #666;
				cursor: pointer;
				z-index: 2;
				background-color: #fefefe;
				padding: 0; /* 패딩 제거 */
				height: 70px;
				width: 70px; /* 너비를 높이와 동일하게 설정 */
				display: flex; /* Flexbox 사용 */
				align-items: center; /* 세로 중앙 정렬 */
				justify-content: center; /* 가로 중앙 정렬 */
				border-radius: 0 10px 0 0; /* 우측 상단 모서리만 둥글게 */
				text-align: center;
				line-height: 1; /* line-height 초기화 */
			}

			.region-grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 20px;
				padding: 20px;
				max-height: calc(100% - 40px); /* popup-content의 max-height에서 상단 여백 빼기 */
				overflow-y: auto; /* 그리드 내부에만 스크롤 적용 */
				overflow-x: hidden; 
				position: relative;
				top: 30px; /* 상단 여백 조정 */
			}

			/* 스크롤바 스타일링 */
			.region-grid::-webkit-scrollbar {
				width: 18px;
			}

			.region-grid::-webkit-scrollbar-track {
				background: #f1f1f1;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb {
				background: #e74c3c;
				border-radius: 4px;
			}

			.region-grid::-webkit-scrollbar-thumb:hover {
				background: #d44637;
			}

			.region-grid.empty {
				display: none; /* 데이터가 없을 때 그리드 숨김 */
				overflow-y: hidden; /* 스크롤 비활성화 */
			}

			.region-btn {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				padding: 10px;
				background-color: #ffffff;
				color: #000000 !important;
				font-size: 38px;
			}

			.region-btn img {
				width: auto;
				height: 100%;
				border-radius: 5px;
				position: relative;
				top: 50%;
				transform: translateY(-50%);
			}


			.scroll-to-top {
				position: fixed;
				bottom: 30px;
				right: 30px;
				width: 100px;
				height: 100px;
				background-color: rgba(255, 51, 51, 0.6);
				color: white;
				border: none;
				border-radius: 50%;
				cursor: pointer;
				display: none;
				justify-content: center;
				align-items: center;
				font-size: 40px;
				box-shadow: 0 2px 5px rgba(0,0,0,0.2);
				transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
				z-index: 1000;
				padding: 0;
				line-height: 1;
			}
			
			.scroll-to-top i {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				margin: 0;
			}
			
			.scroll-to-top:hover {
				background-color: rgba(255, 51, 51, 0.9);
				transform: translateY(-3px);
			}
			
			.scroll-to-top.visible {
				display: flex;
			}

			.button.style-transparent {
				font-size: 2.0em;
				background: transparent;
				border: 2px solid #e74c3c;
				color: #e74c3c !important;
				transition: all 0.3s ease;
			}

			.button.style-transparent:hover {
				background: #e74c3c;
				color: #ffffff !important;
			}	

		}
		
		/* 2개씩 정렬 */
		/*@media screen and (max-width: 1619px) and (min-width: 1420px) {

			.thumbnails {
				background-color: #ffee00;
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start;
				align-items: flex-start;
				width: 60%;
				max-width: 1800px;
				margin: 0;
				padding: 0;
				gap: 1.6em;
			}

			.box {
				display: flex;
				flex-direction: column;
				overflow: hidden;
				width: calc((100% - (1.6em * 1)) / 2);
				max-width: none;
				min-width: 200px;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 45%;
				overflow: hidden;
				position: relative;
			}
		
			.box .image.fit img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background-color: #f5f5f5;
			}
		
			.box:hover .image.fit img {
				transform: scale(1.05);
			}
		
			.box .inner {
				padding: 1.0em 0.8em 0em 0.8em;
				background: white;
				cursor: pointer;
				-webkit-user-select: none;
				-ms-user-select: none;
				-moz-user-select: none;
				user-select: none;
			}
		
			.box .inner .product-name {
				color: #333 !important;
				font-size: 1.0em !important;
				font-weight: 500;
				margin: 0.8em 0 0em 0;
				padding-top: 0.5em;
				text-align: right;
			}
		
			.box .inner h3 {
				padding: 0;
				margin: 0;
				font-size: 1.3em;
				color: #333;
				font-weight: 700;
				line-height: 1;
			}
		
			.box .inner h3 .category {
				color: #FF69B4;
				font-size: 0.6em;
				margin-left: 1.3em;
				font-weight: 500;
				border: 1px solid #FF69B4;
				border-radius: 20px;
				padding: 1px 10px;
				display: inline-block;
				padding-top: 0.2em;
			}
		
			.box .inner p {
				font-size: 0.9em;
				margin: 0;
				padding: 0;
				color: #666;
				font-weight: 500;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner p:nth-child(2) {
				color: #D4AF37;
				margin-top: 0.05em;
				margin-bottom: -0.4em;
				font-weight: 600;
			}
			
			.box .inner p:nth-child(3) {
				margin-top: 1.2em;
				margin-bottom: -0.2em;
				font-size: 0.75em;
			}
		
			.box .inner p:nth-child(4) {
				color: #000000;
				font-size: 1.3em;
				font-weight: 600;
				margin-top: 0.8em;
				text-align: right;
			}
		
			.box .inner p:nth-child(4) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: bottom;
			}
		
			.box .inner p:nth-child(4) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price .currency {
				font-size: 0.65em;
				color: #888;
			}
		
			.box .inner p:nth-child(5) {
				color: #000000;
				font-size: 1.1em;
				font-weight: 600;
				text-align: right;
			}
		
			.box .inner p:nth-child(5) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: middle;
				position: relative;
				top: 1px;
			}
			
			.box .inner p:nth-child(5) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
			
			.box .inner p:nth-child(5) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner .discount {
				color: #ff0000;
				font-weight: bold;
			}
		
			.box .inner .original-price {
				text-decoration: line-through;
				color: #888;
				margin-right: 0.5em;
			}
		
		}


	
		@media screen and (max-width: 1419px) and (min-width: 979px) {

			.thumbnails {
				background-color: #ae00ff;
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start;
				align-items: flex-start;
				width: 80%;
				max-width: 1800px;
				margin: 0;
				padding: 0;
				gap: 1.6em;
			}

			.box {
				display: flex;
				flex-direction: column;
				overflow: hidden;
				width: 100%;
				max-width: none;
				min-width: 200px;
				aspect-ratio: 10/13;
				background: white;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
				transition: transform 0.3s ease, box-shadow 0.3s ease;
			}

			.box:hover {
				transform: translateY(-5px);
				box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			}
		
			.box .image.fit {
				width: 100%;
				height: 45%;
				overflow: hidden;
				position: relative;
			}
		
			.box .image.fit img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
				top: 0;
				left: 0;
				bottom: 0;
				right: 0;
				background-color: #f5f5f5;
			}
		
			.box:hover .image.fit img {
				transform: scale(1.05);
			}
		
			.box .inner {
				padding: 1.0em 0.8em 0em 0.8em;
				background: white;
				cursor: pointer;
				-webkit-user-select: none;
				-ms-user-select: none;
				-moz-user-select: none;
				user-select: none;
			}
		
			.box .inner .product-name {
				color: #333 !important;
				font-size: 1.0em !important;
				font-weight: 500;
				margin: 0.8em 0 0em 0;
				padding-top: 0.5em;
				text-align: right;
			}
		
			.box .inner h3 {
				padding: 0;
				margin: 0;
				font-size: 1.3em;
				color: #333;
				font-weight: 700;
				line-height: 1;
			}
		
			.box .inner h3 .category {
				color: #FF69B4;
				font-size: 0.6em;
				margin-left: 1.3em;
				font-weight: 500;
				border: 1px solid #FF69B4;
				border-radius: 20px;
				padding: 1px 10px;
				display: inline-block;
				padding-top: 0.2em;
			}
		
			.box .inner p {
				font-size: 0.9em;
				margin: 0;
				padding: 0;
				color: #666;
				font-weight: 500;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				max-height: 2.8em;
				line-height: 1.4;
			}
		
			.box .inner p:nth-child(2) {
				color: #D4AF37;
				margin-top: 0.05em;
				margin-bottom: -0.4em;
				font-weight: 600;
			}
			
			.box .inner p:nth-child(3) {
				margin-top: 1.2em;
				margin-bottom: -0.2em;
				font-size: 0.75em;
			}
		
			.box .inner p:nth-child(4) {
				color: #000000;
				font-size: 1.3em;
				font-weight: 600;
				margin-top: 0.8em;
				text-align: right;
			}
		
			.box .inner p:nth-child(4) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: bottom;
			}
		
			.box .inner p:nth-child(4) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
			.box .inner p:nth-child(4) .original-price .currency {
				font-size: 0.65em;
				color: #888;
			}
		
			.box .inner p:nth-child(5) {
				color: #000000;
				font-size: 1.1em;
				font-weight: 600;
				text-align: right;
			}
		
			.box .inner p:nth-child(5) .currency {
				font-size: 0.65em;
				font-weight: 500;
				margin-left: 2px;
				vertical-align: middle;
				position: relative;
				top: 1px;
			}
			
			.box .inner p:nth-child(5) .discount {
				color: #e74c3c;
				font-size: 0.75em;
				font-weight: 700;
				margin-right: 8px;
			}
			
			.box .inner p:nth-child(5) .original-price {
				color: #888;
				font-size: 0.75em;
				font-weight: 600;
				text-decoration: line-through;
				margin-right: 8px;
			}
		
		
			.box .inner .discount {
				color: #ff0000;
				font-weight: bold;
			}
		
			.box .inner .original-price {
				text-decoration: line-through;
				color: #888;
				margin-right: 0.5em;
			}
		
		}*/




		
		/*@media (min-width: 768px) and (max-width: 979px) {
			.thumbnails {
				background-color: #0f0f0f;
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start;
				align-items: flex-start;
				width: 80%; 
				max-width: 1800px; 
				margin: 0;
				padding: 0;
				gap: 1.6em; 
			}
		}
		
		@media (max-width: 767px) {
			.thumbnails {
				background-color: #00ccff;
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start;
				align-items: flex-start;
				width: 80%; 
				max-width: 1800px; 
				margin: 0;
				padding: 0;
				gap: 1.6em; 
			}
		}*/
	a {
		-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		color: #e74c3c;
		text-decoration: none;
		border-bottom: 1px dotted #e74c3c;
		outline: 0;
	}

		a:hover {
			color: #e74c3c;
			border: none;
		}

	strong, b {
		color: #fff;
		font-weight: 400;
	}

	em, i {
		font-style: italic;
	}

	p {
		margin: 0 0 2em 0;
	}

	h1, h2, h3, h4, h5, h6 {
		color: #333333;
		font-weight: 400;
		line-height: 1.5;
		margin: 0 0 1em 0;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			text-decoration: none;
		}

	h2 {
		font-size: 1.75em;
	}

	h3 {
		font-size: 1.35em;
	}

	h4 {
		font-size: 1.1em;
	}

	h5 {
		font-size: 0.9em;
	}

	h6 {
		font-size: 0.7em;
	}

	sub {
		font-size: 0.8em;
		position: relative;
		top: 0.5em;
	}

	sup {
		font-size: 0.8em;
		position: relative;
		top: -0.5em;
	}

	blockquote {
		border-left: solid 4px rgba(144, 144, 144, 0.25);
		font-style: italic;
		margin: 0 0 2em 0;
		padding: 0.5em 0 0.5em 2em;
	}

	code {
		background: rgba(144, 144, 144, 0.075);
		border-radius: 4px;
		border: solid 1px rgba(144, 144, 144, 0.25);
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0.25em;
		padding: 0.25em 0.65em;
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0 2em 0;
	}

		pre code {
			display: block;
			line-height: 1.75;
			padding: 1em 1.5em;
			overflow-x: auto;
		}

	hr {
		border: 0;
		border-bottom: solid 1px rgba(144, 144, 144, 0.25);
		margin: 2em 0;
	}

		hr.major {
			margin: 3em 0;
		}

	.align-left {
		text-align: left;
	}

	.align-center {
		text-align: center;
	}

	.align-right {
		text-align: right;
	}

/* Section/Article */

	section.special, article.special {
		text-align: center;
	}

	header p {
		color: rgba(255, 255, 255, 0.5);
		position: relative;
		margin: 0 0 1.5em 0;
	}

	header h2 + p {
		font-size: 1.25em;
		margin-top: -1em;
	}

	header h3 + p {
		font-size: 1.1em;
		margin-top: -0.8em;
	}

	header h4 + p,
	header h5 + p,
	header h6 + p {
		font-size: 0.9em;
		margin-top: -0.6em;
	}

/* Form */

	form {
		margin: 0 0 2em 0;
	}

	label {
		color: #fff;
		display: block;
		font-size: 0.9em;
		font-weight: 400;
		margin: 0 0 1em 0;
	}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	input[type="tel"],
	select,
	textarea {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		background: #ffffff;
		border-radius: 4px;
		border: 1px solid #e0e0e0;
		color: #333333;
		display: block;
		outline: 0;
		padding: 0 1em;
		text-decoration: none;
		width: 100%;
	}

		input[type="text"]:invalid,
		input[type="password"]:invalid,
		input[type="email"]:invalid,
		input[type="tel"]:invalid,
		select:invalid,
		textarea:invalid {
			box-shadow: none;
		}

		input[type="text"]:focus,
		input[type="password"]:focus,
		input[type="email"]:focus,
		input[type="tel"]:focus,
		select:focus,
		textarea:focus {
			border-color: #ff8686;
			box-shadow: 0 0 0 1px #ff8686;
		}

	.select-wrapper {
		text-decoration: none;
		display: block;
		position: relative;
	}

		.select-wrapper:before {
			content: "";
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			font-family: FontAwesome;
			font-style: normal;
			font-weight: normal;
			text-transform: none !important;
		}

		.select-wrapper:before {
			color: rgba(144, 144, 144, 0.25);
			display: block;
			height: 2.75em;
			line-height: 2.75em;
			pointer-events: none;
			position: absolute;
			right: 0;
			text-align: center;
			top: 0;
			width: 2.75em;
		}

		.select-wrapper select::-ms-expand {
			display: none;
		}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select {
		height: 2.75em;
	}

	textarea {
		padding: 0.75em 1em;
	}

	input[type="checkbox"],
	input[type="radio"] {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		display: block;
		float: left;
		margin-right: -2em;
		opacity: 0;
		width: 1em;
		z-index: -1;
	}

		input[type="checkbox"] + label,
		input[type="radio"] + label {
			text-decoration: none;
			color: rgba(255, 255, 255, 0.75);
			cursor: pointer;
			display: inline-block;
			font-size: 1em;
			font-weight: 300;
			padding-left: 2.4em;
			padding-right: 0.75em;
			position: relative;
		}

			input[type="checkbox"] + label:before,
			input[type="radio"] + label:before {
				-moz-osx-font-smoothing: grayscale;
				-webkit-font-smoothing: antialiased;
				font-family: FontAwesome;
				font-style: normal;
				font-weight: normal;
				text-transform: none !important;
			}

			input[type="checkbox"] + label:before,
			input[type="radio"] + label:before {
				background: rgba(144, 144, 144, 0.075);
				border-radius: 4px;
				border: solid 1px rgba(144, 144, 144, 0.25);
				content: '';
				display: inline-block;
				height: 1.65em;
				left: 0;
				line-height: 1.58125em;
				position: absolute;
				text-align: center;
				top: 0;
				width: 1.65em;
			}

		input[type="checkbox"]:checked + label:before,
		input[type="radio"]:checked + label:before {
			background: #ff8686;
			border-color: #ff8686;
			color: #ffffff;
			content: '\f00c';
		}

		input[type="checkbox"]:focus + label:before,
		input[type="radio"]:focus + label:before {
			border-color: #ff8686;
			box-shadow: 0 0 0 1px #ff8686;
		}

	input[type="checkbox"] + label:before {
		border-radius: 4px;
	}

	input[type="radio"] + label:before {
		border-radius: 100%;
	}

	::-webkit-input-placeholder {
		color: rgba(255, 255, 255, 0.5) !important;
		opacity: 1.0;
	}

	:-moz-placeholder {
		color: rgba(255, 255, 255, 0.5) !important;
		opacity: 1.0;
	}

	::-moz-placeholder {
		color: rgba(255, 255, 255, 0.5) !important;
		opacity: 1.0;
	}

	:-ms-input-placeholder {
		color: rgba(255, 255, 255, 0.5) !important;
		opacity: 1.0;
	}

	.formerize-placeholder {
		color: rgba(255, 255, 255, 0.5) !important;
		opacity: 1.0;
	}

/* Box */





	/*@media screen and (max-width: 736px) {
		.box .image.fit img {
			height: 200px;
		}
		
		.box .inner {
			padding: 1.5em;
		}
		
		.box .inner h3 {
			font-size: 1.4em;
		}
		
		.box .inner p {
			font-size: 1.1em;
		}
	}*/

/* Icon */

	.icon {
		text-decoration: none;
		border-bottom: none;
		position: relative;
	}

	.icon:before {
		-moz-osx-font-smoothing: grayscale;
		-webkit-font-smoothing: antialiased;
		font-family: FontAwesome;
		font-style: normal;
		font-weight: normal;
		text-transform: none !important;
	}

	.icon > .label {
		display: none;
	}

/* Image */

	.image {
		border-radius: 4px;
		border: 0;
		display: inline-block;
		position: relative;
	}

	.image img {
		border-radius: 4px;
		display: block;
	}

	.image.left, .image.right {
		max-width: 40%;
	}

	.image.left img, .image.right img {
		width: 100%;
	}

	.image.left {
		float: left;
		padding: 0 1.5em 1em 0;
		top: 0.25em;
	}

	.image.right {
		float: right;
		padding: 0 0 1em 1.5em;
		top: 0.25em;
	}

	.image.main {
		display: block;
		margin: 0 0 3em 0;
		width: 100%;
	}

	.image.main img {
		width: 100%;
	}

/* List */

	ol {
		list-style: decimal;
		margin: 0 0 2em 0;
		padding-left: 1.25em;
	}

		ol li {
			padding-left: 0.25em;
		}

	ul {
		list-style: disc;
		margin: 0 0 2em 0;
		padding-left: 1em;
	}

		ul li {
			padding-left: 0.5em;
		}

		ul.alt {
			list-style: none;
			padding-left: 0;
		}

			ul.alt li {
				border-top: solid 1px rgba(144, 144, 144, 0.25);
				padding: 0.5em 0;
			}

				ul.alt li:first-child {
					border-top: 0;
					padding-top: 0;
				}

		ul.icons {
			cursor: default;
			list-style: none;
			padding-left: 0;
		}

			ul.icons li {
				display: inline-block;
				text-align: center;
				padding-left: 0;
				padding-right: 1em;
			}

				ul.icons li a {
					display: block;
					border-radius: 100%;
					margin: 0;
					padding: 0.5em;
					border: solid 1px rgba(144, 144, 144, 0.25);
					color: rgba(144, 144, 144, 0.25);
				}

					ul.icons li a:before {
						font-size: 1.5em;
						display: block;
						width: 1.5em;
						height: 1.5em;
						line-height: 1.5em;
					}

					ul.icons li a:hover {
						background-color: #202024;
						color: #FFF;
					}

				ul.icons li:last-child {
					padding-right: 0;
				}

		ul.actions {
			cursor: default;
			list-style: none;
			padding-left: 0;
		}

			ul.actions li {
				display: inline-block;
				padding: 0 1em 0 0;
				vertical-align: middle;
			}

				ul.actions li:last-child {
					padding-right: 0;
				}

			ul.actions.small li {
				padding: 0 0.5em 0 0;
			}

			ul.actions.vertical li {
				display: block;
				padding: 1em 0 0 0;
			}

				ul.actions.vertical li:first-child {
					padding-top: 0;
				}

				ul.actions.vertical li > * {
					margin-bottom: 0;
				}

			ul.actions.vertical.small li {
				padding: 0.5em 0 0 0;
			}

				ul.actions.vertical.small li:first-child {
					padding-top: 0;
				}

			ul.actions.fit {
				display: table;
				margin-left: -1em;
				padding: 0;
				table-layout: fixed;
				width: calc(100% + 1em);
			}

				ul.actions.fit li {
					display: table-cell;
					padding: 0 0 0 1em;
				}

					ul.actions.fit li > * {
						margin-bottom: 0;
					}

				ul.actions.fit.small {
					margin-left: -0.5em;
					width: calc(100% + 0.5em);
				}

					ul.actions.fit.small li {
						padding: 0 0 0 0.5em;
					}

			/*@media screen and (max-width: 480px) {

				ul.actions {
					margin: 0 0 2em 0;
				}

					ul.actions li {
						padding: 1em 0 0 0;
						display: block;
						text-align: center;
						width: 100%;
					}

						ul.actions li:first-child {
							padding-top: 0;
						}

						ul.actions li > * {
							width: 100%;
							margin: 0 !important;
						}

							ul.actions li > *.icon:before {
								margin-left: -2em;
							}

					ul.actions.small li {
						padding: 0.5em 0 0 0;
					}

						ul.actions.small li:first-child {
							padding-top: 0;
						}

			}*/

	dl {
		margin: 0 0 2em 0;
	}

		dl dt {
			display: block;
			font-weight: 400;
			margin: 0 0 1em 0;
		}

		dl dd {
			margin-left: 2em;
		}

/* Table */

	.table-wrapper {
		-webkit-overflow-scrolling: touch;
		overflow-x: auto;
	}

	table {
		margin: 0 0 2em 0;
		width: 100%;
	}

		table tbody tr {
			border: solid 1px rgba(144, 144, 144, 0.25);
			border-left: 0;
			border-right: 0;
		}

			table tbody tr:nth-child(2n + 1) {
				background-color: rgba(144, 144, 144, 0.075);
			}

		table td {
			padding: 0.75em 0.75em;
		}

		table th {
			color: #fff;
			font-size: 0.9em;
			font-weight: 400;
			padding: 0 0.75em 0.75em 0.75em;
			text-align: left;
		}

		table thead {
			border-bottom: solid 2px rgba(144, 144, 144, 0.25);
		}

		table tfoot {
			border-top: solid 2px rgba(144, 144, 144, 0.25);
		}

		table.alt {
			border-collapse: separate;
		}

			table.alt tbody tr td {
				border: solid 1px rgba(144, 144, 144, 0.25);
				border-left-width: 0;
				border-top-width: 0;
			}

				table.alt tbody tr td:first-child {
					border-left-width: 1px;
				}

			table.alt tbody tr:first-child td {
				border-top-width: 1px;
			}

			table.alt thead {
				border-bottom: 0;
			}

			table.alt tfoot {
				border-top: 0;
			}

/* Button */

	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		background-color: #e74c3c;
		border-radius: 4px;
		border: 0;
		color: #ffffff !important;
		cursor: pointer;
		display: inline-block;
		font-weight: 400;
		height: 2.85em;
		line-height: 2.95em;
		padding: 0 1.5em;
		text-align: center;
		text-decoration: none;
		white-space: nowrap;
	}

		input[type="submit"]:hover,
		input[type="reset"]:hover,
		input[type="button"]:hover,
		button:hover,
		.button:hover {
			background-color: #ffffff;
			color: #e74c3c !important;
		}

		input[type="submit"]:active,
		input[type="reset"]:active,
		input[type="button"]:active,
		button:active,
		.button:active {
			background-color: #5ec0b6;
		}

		input[type="submit"].icon,
		input[type="reset"].icon,
		input[type="button"].icon,
		button.icon,
		.button.icon {
			padding-left: 1.35em;
		}

			input[type="submit"].icon:before,
			input[type="reset"].icon:before,
			input[type="button"].icon:before,
			button.icon:before,
			.button.icon:before {
				margin-right: 0.5em;
			}

		input[type="submit"].fit,
		input[type="reset"].fit,
		input[type="button"].fit,
		button.fit,
		.button.fit {
			display: block;
			margin: 0 0 1em 0;
			width: 100%;
		}

		input[type="submit"].small,
		input[type="reset"].small,
		input[type="button"].small,
		button.small,
		.button.small {
			font-size: 0.8em;
		}

		input[type="submit"].big,
		input[type="reset"].big,
		input[type="button"].big,
		button.big,
		.button.big {
			font-size: 1.35em;
		}

		input[type="submit"].disabled, input[type="submit"]:disabled,
		input[type="reset"].disabled,
		input[type="reset"]:disabled,
		input[type="button"].disabled,
		input[type="button"]:disabled,
		button.disabled,
		button:disabled,
		.button.disabled,
		.button:disabled {
			background-color: rgba(255, 255, 255, 0.75) !important;
			box-shadow: inset 0 -0.15em 0 0 rgba(0, 0, 0, 0.15);
			color: #202024 !important;
			cursor: default;
			opacity: 0.25;
		}

		input[type="submit"].style2,
		input[type="reset"].style2,
		input[type="button"].style2,
		button.style2,
		.button.style2 {
			background-color: #7f92cf;
		}

			input[type="submit"].style2:hover,
			input[type="reset"].style2:hover,
			input[type="button"].style2:hover,
			button.style2:hover,
			.button.style2:hover {
				background-color: #92a2d6;
			}

			input[type="submit"].style2:active,
			input[type="reset"].style2:active,
			input[type="button"].style2:active,
			button.style2:active,
			.button.style2:active {
				background-color: #6c82c8;
			}

		input[type="submit"].style3,
		input[type="reset"].style3,
		input[type="button"].style3,
		button.style3,
		.button.style3 {
			background-color: #9d7ed0;
		}

			input[type="submit"].style3:hover,
			input[type="reset"].style3:hover,
			input[type="button"].style3:hover,
			button.style3:hover,
			.button.style3:hover {
				background-color: #ab91d7;
			}

			input[type="submit"].style3:active,
			input[type="reset"].style3:active,
			input[type="button"].style3:active,
			button.style3:active,
			.button.style3:active {
				background-color: #8f6bc9;
			}

		/*@media screen and (max-width: 480px) {

			input[type="submit"],
			input[type="reset"],
			input[type="button"],
			button,
			.button {
				padding: 0;
			}

		}

/* Poptrox */

	.poptrox-popup {
		-moz-box-sizing: content-box;
		-webkit-box-sizing: content-box;
		-ms-box-sizing: content-box;
		box-sizing: content-box;
		background: #000;
		box-shadow: 0 0.5em 3em 0 rgba(0, 0, 0, 0.25);
		border-radius: 4px;
		padding: 2em;
		overflow: hidden;
	}

		.poptrox-popup .closer {
			-moz-transition: opacity 0.2s ease-in-out;
			-webkit-transition: opacity 0.2s ease-in-out;
			-ms-transition: opacity 0.2s ease-in-out;
			transition: opacity 0.2s ease-in-out;
			text-decoration: none;
			position: absolute;
			top: .5em;
			right: .5em;
			z-index: 11000;
			-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
			white-space: nowrap;
			text-indent: 2em;
			overflow: hidden;
			width: 2em;
			height: 2em;
			display: block;
		}

			.poptrox-popup .closer:before {
				content: "\f00d";
				-moz-osx-font-smoothing: grayscale;
				-webkit-font-smoothing: antialiased;
				font-family: FontAwesome;
				font-style: normal;
				font-weight: normal;
				text-transform: none !important;
				display: block;
				position: relative;
				text-indent: 0;
				border-radius: 100%;
				box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.25);
				color: #ffffff !important;
				width: 2em;
				height: 2em;
				line-height: 2em;
			}

		.poptrox-popup:hover .closer {
			opacity: 0.5;
		}

		.poptrox-popup:hover .closer:hover {
			opacity: 1.0;
		}

		/*@media screen and (max-width: 736px) {

			.poptrox-popup {
				padding: 0;
			}

				.poptrox-popup .closer {
					display: none !important;
				}

		}*/

/* Banner */



		#banner .inner {
			text-align: center;
			position: relative;
			z-index: 2;
		}

		#banner h1 {
			color: #fff;
			font-size: 5em;
			font-weight: 400;
			font-family: 'Passion One', cursive;
			margin: 0;
		}

			/*@media screen and (max-width: 980px) {

				#banner h1 {
					font-size: 5em;
				}

			}

			@media screen and (max-width: 736px) {

				#banner h1 {
					font-size: 3em;
				}

			}*/

		#banner p {
			color: rgba(255, 255, 255, 0.85);
			font-size: 1.5em;
			font-weight: 300;
		}

			/*@media screen and (max-width: 980px) {

				#banner p {
					font-size: 1.5em;
				}

			}

			@media screen and (max-width: 480px) {

				#banner p {
					font-size: 1.25em;
				}

			}*/

		#banner a {
			color: rgba(255, 255, 255, 0.75);
			text-decoration: none;
			border-bottom: 1px dotted;
		}

			#banner a:hover {
				color: #FFF;
				border: none;
			}

		#banner .more {
			background-image: url("images/arrow.svg");
			background-position: center 1.35em;
			background-repeat: no-repeat;
			background-size: auto;
			border: 1px solid #fff;
			border-radius: 100%;
			color: rgba(255, 255, 255, 0.75);
			display: block;
			height: 4em;
			text-indent: 4em;
			overflow: hidden;
			white-space: nowrap;
			width: 4em;
			z-index: 2;
			margin: 0 auto 2em auto;
		}

			#banner .more:hover {
				background-color: rgba(255, 255, 255, 0.05);
				border: 1px solid #fff;
				color: #FFF;
			}

		#banner video {
			-moz-transform: translateX(50%) translateY(50%);
			-webkit-transform: translateX(50%) translateY(50%);
			-ms-transform: translateX(50%) translateY(50%);
			transform: translateX(50%) translateY(50%);
			position: absolute;
			bottom: 50%;
			right: 50%;
			width: auto;
			height: auto;
			min-width: 100%;
			min-height: 100%;
			overflow: hidden;
		}

		#banner:before {
			-moz-transition: opacity 3s ease;
			-webkit-transition: opacity 3s ease;
			-ms-transition: opacity 3s ease;
			transition: opacity 3s ease;
			-moz-transition-delay: 1s;
			-webkit-transition-delay: 1s;
			-ms-transition-delay: 1s;
			transition-delay: 1s;
			content: '';
			background-color: #42424f;
			display: block;
			height: 100%;
			left: 0;
			opacity: 0.45;
			position: absolute;
			top: 0;
			width: 100%;
			z-index: 1;
		}

		/*@media screen and (max-width: 1280px) {

			#banner video {
				display: none;
			}

		}

		@media screen and (max-width: 980px) {

			#banner br {
				display: none;
			}

		}

		@media screen and (max-width: 736px) {

			#banner {
				min-height: 0;
				padding: 6em 2em 4em 2em;
			}

				#banner br {
					display: none;
				}

		}*/

		body.is-loading #banner:before {
			opacity: 1;
		}

/* Main */

	#main {
		padding: 2em 0 2em 0;
	}

		/*@media screen and (max-width: 736px) {

			#main {
				padding: 3em 0 1em 0;
			}

		}*/



			/*@media screen and (max-width: 480px) {

				#main .inner {
					width: 95%;
				}

			}*/

/* Footer */

	#footer {
		padding: 4em 0 2em 0;
		background-color: #f5f5f5;
		text-align: center;
	}

		#footer .inner {
			width: 50%;
			margin: 0 auto;
		}

			/*@media screen and (max-width: 980px) {

				#footer .inner {
					width: 75%;
				}

			}

			@media screen and (max-width: 480px) {

				#footer .inner {
					width: 90%;
				}

			}*/

		#footer .copyright {
			color: #666666;
			font-size: 0.9em;
			margin: 0 0 2em 0;
			padding: 0;
			text-align: center;
		}
.copyright {
	background-color: #f5f5f5;
	color: #666666;
	font-size: 0.9em;
	padding: 2em 0 2em 0;
	text-align: center;
}
.copyright a {
	color: #e74c3c;
	border-bottom: none;
	font-weight: 700;
	text-decoration: none;
}

		/*@media screen and (max-width: 736px) {

			#footer {
				padding: 3em 0 1em 0;
			}

		}*/

.search-section {
    background: transparent;
    padding: 2em 0;
    margin-bottom: 0;
}

.search-form {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
}

.search-form input[type="text"] {
    width: 60%;
    padding: 12px 20px;
    border: 2px solid #e0e0e0;
    border-radius: 25px;
    font-size: 16px;
    outline: none;
    background: #ffffff;
    color: #333333;
}

.search-form input[type="text"]::placeholder {
    color: #999999;
}

.search-form button {
    padding: 12px 30px;
    background: #e74c3c;
    color: white;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s ease;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-form button:hover {
    background: #ffffff;
	color: #e74c3c !important;
}

/* 입력창 포커스 시 스타일 */
.search-form input[type="text"]:focus {
    border-color: #333;
}

/* 사용자 등급별 배경색 스타일 */
.box[data-user-level="VIP"] {
    background: 
        radial-gradient(circle at 30% 30%, rgba(255, 215, 0, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 70% 70%, rgba(255, 140, 0, 0.12) 0%, transparent 50%),
        linear-gradient(135deg, rgba(250, 160, 160, 0.35), rgba(240, 150, 150, 0.25)) !important;
    box-shadow: 
        0 0 40px rgba(250, 160, 160, 0.8),
        0 0 60px rgba(255, 140, 0, 0.4),
        0 10px 40px rgba(240, 150, 150, 0.6),
        inset 0 0 25px rgba(255, 180, 180, 0.4),
        inset 0 0 15px rgba(255, 215, 0, 0.2) !important;
    border: 3px solid;
    border-image: linear-gradient(135deg, 
        rgba(250, 160, 160, 0.9),
        rgba(255, 200, 200, 0.7),
        rgba(250, 160, 160, 0.9)) 1 !important;
    position: relative;
    overflow: hidden;
    animation: vipPulse 3s ease-in-out infinite, vipBorderRotate 4s ease-in-out infinite;
}

@keyframes vipPulse {
    0%, 100% { 
        box-shadow: 
            0 0 40px rgba(250, 160, 160, 0.8),
            0 0 60px rgba(255, 140, 0, 0.4),
            0 10px 40px rgba(240, 150, 150, 0.6),
            inset 0 0 25px rgba(255, 180, 180, 0.4),
            inset 0 0 15px rgba(255, 215, 0, 0.2) !important;
    }
    50% { 
        box-shadow: 
            0 0 50px rgba(250, 160, 160, 1),
            0 0 80px rgba(255, 140, 0, 0.6),
            0 10px 50px rgba(240, 150, 150, 0.8),
            inset 0 0 30px rgba(255, 180, 180, 0.5),
            inset 0 0 20px rgba(255, 215, 0, 0.3) !important;
    }
}

@keyframes vipBorderRotate {
    0% {
        border-image-source: linear-gradient(0deg, 
            rgba(250, 160, 160, 1),
            rgba(255, 200, 200, 0.6),
            rgba(250, 160, 160, 1),
            rgba(255, 200, 200, 0.6)) !important;
    }
    33% {
        border-image-source: linear-gradient(120deg, 
            rgba(255, 200, 200, 0.6),
            rgba(250, 160, 160, 1),
            rgba(255, 200, 200, 0.6),
            rgba(250, 160, 160, 1)) !important;
    }
    66% {
        border-image-source: linear-gradient(240deg, 
            rgba(250, 160, 160, 1),
            rgba(255, 200, 200, 0.8),
            rgba(250, 160, 160, 1),
            rgba(255, 200, 200, 0.8)) !important;
    }
    100% {
        border-image-source: linear-gradient(360deg, 
            rgba(250, 160, 160, 1),
            rgba(255, 200, 200, 0.6),
            rgba(250, 160, 160, 1),
            rgba(255, 200, 200, 0.6)) !important;
    }
}

.box[data-user-level="VIP"]::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        45deg,
        transparent 40%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 60%
    );
    animation: vipShine 2.5s infinite;
}

.box[data-user-level="VIP"]::after {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    background: conic-gradient(
        from 0deg,
        rgba(250, 160, 160, 0),
        rgba(255, 200, 200, 0.6),
        rgba(250, 160, 160, 0.9),
        rgba(255, 220, 220, 0.8),
        rgba(250, 160, 160, 0.9),
        rgba(255, 200, 200, 0.6),
        rgba(250, 160, 160, 0)
    );
    border-radius: inherit;
    z-index: -1;
    animation: vipBorderGlow 4s ease-in-out infinite;
    pointer-events: none;
}

@keyframes vipShine {
    0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
    100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
}

@keyframes vipBorderGlow {
    0% { 
        transform: rotate(0deg);
        opacity: 0.6;
    }
    50% { 
        opacity: 1;
    }
    100% { 
        transform: rotate(360deg);
        opacity: 0.6;
    }
}

.box[data-user-level="DIAMOND"] {
    background: linear-gradient(135deg, rgba(170, 230, 165, 0.35), rgba(160, 220, 155, 0.25)) !important;
    box-shadow: 
        0 0 30px rgba(170, 230, 165, 0.7),
        0 5px 30px rgba(160, 220, 155, 0.6),
        inset 0 0 25px rgba(180, 240, 175, 0.4) !important;
    border: 3px solid;
    border-image: linear-gradient(135deg, 
        rgba(170, 230, 165, 0.8),
        rgba(176, 224, 230, 0.6),
        rgba(170, 230, 165, 0.8)) 1 !important;
    position: relative;
    overflow: hidden;
    animation: diamondBorderGlow 4s ease-in-out infinite;
}

@keyframes diamondBorderGlow {
    0%, 100% { 
        border-image-source: linear-gradient(135deg, 
            rgba(170, 230, 165, 0.6),
            rgba(176, 224, 230, 0.4),
            rgba(170, 230, 165, 0.6)) !important;
        box-shadow: 
            0 0 30px rgba(170, 230, 165, 0.7),
            0 5px 30px rgba(160, 220, 155, 0.6),
            inset 0 0 25px rgba(180, 240, 175, 0.4) !important;
    }
    50% { 
        border-image-source: linear-gradient(135deg, 
            rgba(170, 230, 165, 1),
            rgba(176, 224, 230, 0.8),
            rgba(170, 230, 165, 1)) !important;
        box-shadow: 
            0 0 40px rgba(170, 230, 165, 0.9),
            0 0 50px rgba(176, 224, 230, 0.5),
            0 5px 40px rgba(160, 220, 155, 0.8),
            inset 0 0 30px rgba(180, 240, 175, 0.5) !important;
    }
}

.box[data-user-level="DIAMOND"]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        linear-gradient(45deg, transparent 35%, rgba(255, 255, 255, 0.3) 50%, transparent 65%),
        linear-gradient(-45deg, transparent 35%, rgba(255, 255, 255, 0.3) 50%, transparent 65%);
    animation: diamondSparkle 3s infinite;
    pointer-events: none;
}

.box[data-user-level="DIAMOND"]::after {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(
        0deg,
        rgba(170, 230, 165, 0.5),
        rgba(176, 224, 230, 0.3),
        rgba(170, 230, 165, 0.5)
    );
    border-radius: inherit;
    z-index: -1;
    animation: diamondBorderShine 3s infinite;
}

@keyframes diamondSparkle {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 0.8; }
}

@keyframes diamondBorderShine {
    0% { transform: rotate(0deg) scale(1); }
    100% { transform: rotate(360deg) scale(1); }
}

/* 사용자 등급별 배경색 스타일 - BRONZE */
.box[data-user-level="BRONZE"] {
    background: linear-gradient(135deg, rgba(205, 127, 50, 0.2), rgba(160, 82, 45, 0.15)) !important;
    box-shadow: 
        0 0 15px rgba(205, 127, 50, 0.4),
        0 3px 10px rgba(160, 82, 45, 0.3),
        inset 0 0 15px rgba(205, 127, 50, 0.2) !important;
    border: 2px solid rgba(205, 127, 50, 0.5) !important;
    position: relative;
    overflow: hidden;
    animation: bronzeGlow 3s ease-in-out infinite;
}

@keyframes bronzeGlow {
    0%, 100% { 
        box-shadow: 
            0 0 15px rgba(205, 127, 50, 0.4),
            0 3px 10px rgba(160, 82, 45, 0.3),
            inset 0 0 15px rgba(205, 127, 50, 0.2) !important;
    }
    50% { 
        box-shadow: 
            0 0 25px rgba(205, 127, 50, 0.6),
            0 3px 15px rgba(160, 82, 45, 0.5),
            inset 0 0 20px rgba(205, 127, 50, 0.3) !important;
    }
}

/* 사용자 등급별 배경색 스타일 - SILVER */
.box[data-user-level="SILVER"] {
    background: linear-gradient(135deg, rgba(192, 192, 192, 0.25), rgba(169, 169, 169, 0.18)) !important;
    box-shadow: 
        0 0 20px rgba(192, 192, 192, 0.5),
        0 5px 15px rgba(169, 169, 169, 0.4),
        inset 0 0 20px rgba(192, 192, 192, 0.25) !important;
    border: 3px solid;
    border-image: linear-gradient(135deg, 
        rgba(192, 192, 192, 0.7),
        rgba(220, 220, 220, 0.5),
        rgba(192, 192, 192, 0.7)) 1 !important;
    position: relative;
    overflow: hidden;
    animation: silverShine 4s ease-in-out infinite;
}

@keyframes silverShine {
    0%, 100% { 
        box-shadow: 
            0 0 20px rgba(192, 192, 192, 0.5),
            0 5px 15px rgba(169, 169, 169, 0.4),
            inset 0 0 20px rgba(192, 192, 192, 0.25) !important;
    }
    50% { 
        box-shadow: 
            0 0 30px rgba(192, 192, 192, 0.7),
            0 5px 20px rgba(169, 169, 169, 0.6),
            inset 0 0 25px rgba(192, 192, 192, 0.35) !important;
    }
}

.box[data-user-level="SILVER"]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        linear-gradient(45deg, transparent 40%, rgba(255, 255, 255, 0.4) 50%, transparent 60%);
    animation: silverSparkle 2.5s infinite;
    pointer-events: none;
}

@keyframes silverSparkle {
    0%, 100% { opacity: 0.2; transform: translateX(-100%) translateY(-100%) rotate(45deg); }
    50% { opacity: 0.6; transform: translateX(0%) translateY(0%) rotate(45deg); }
    100% { opacity: 0.2; transform: translateX(100%) translateY(100%) rotate(45deg); }
}


.box[data-user-level="SILVER"] .inner h3,
.box[data-user-level="SILVER"] .inner .intro {
    color: #636363 !important; /* 은색 회색 */
    text-shadow: 
        0 0 8px rgba(192, 192, 192, 0.5),
        0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

/* 사용자 등급별 글자색 스타일 */
.box[data-user-level="VIP"] .inner h3,
.box[data-user-level="VIP"] .inner .intro {
    color: #f94747 !important; /* 진한 빨간색 */
    text-shadow: 
        0 0 8px rgba(249, 71, 71, 0.4),
        0 0 15px rgba(255, 140, 0, 0.25),
        0 2px 4px rgba(0, 0, 0, 0.3) !important;
    animation: vipTextGlow 2s ease-in-out infinite alternate;
    position: relative;
}

@keyframes vipTextGlow {
    0% {
        text-shadow: 
            0 0 8px rgba(249, 71, 71, 0.4),
            0 0 15px rgba(255, 140, 0, 0.25),
            0 2px 4px rgba(0, 0, 0, 0.3) !important;
    }
    100% {
        text-shadow: 
            0 0 12px rgba(249, 71, 71, 0.6),
            0 0 20px rgba(255, 140, 0, 0.35),
            0 2px 6px rgba(0, 0, 0, 0.4) !important;
    }
}

.box[data-user-level="DIAMOND"] .inner h3,
.box[data-user-level="DIAMOND"] .inner .intro {
    color: #286b3f !important; /* 진한 초록색 */
    text-shadow: 
        0 0 10px rgba(170, 230, 165, 0.7),
        0 0 20px rgba(160, 220, 155, 0.5),
        0 2px 5px rgba(160, 220, 155, 0.4) !important;
}

.box[data-user-level="GOLD"] .inner h3,
.box[data-user-level="GOLD"] .inner .intro {
    color: #2f468a !important; /* 진한 파란색 */
}

.box[data-user-level="BRONZE"] .inner h3,
.box[data-user-level="BRONZE"] .inner .intro {
    color: #a0a0a1 !important; /* 진한 회색 */
}


















.detail-popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 1000;
    overflow-y: auto;
}

.detail-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    z-index: 1002;
    display: flex;
    justify-content: flex-start; /* 버튼을 왼쪽으로 정렬 */
    align-items: center;
    padding: 0 15px;
}

.detail-close {
    width: 90px;
    height: 90px;
    border: none;
	background: rgba(126, 125, 125, 0.1);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    margin-top: 0px;
}

.detail-close i {
    font-size: 49px;
    color: #333;
}

.detail-close:hover {
    background: rgba(126, 125, 125, 0.2);
}

.detail-content {
	font-size: 30px;
	width: 978px;
	max-width: 978px;
	min-width: 978px;
	justify-content: center;
	color: #4d4d4d;
	margin: 0 auto;
    padding-top: 0; /* 기존 패딩 제거 */
}

/* 이미지 슬라이더 영역 */
.image-slider {
    position: relative;
	width: 978px;
	max-width: 978px;
	min-width: 978px;
	justify-content: center;
	margin: 0 auto;
	height: 590px;
	min-height: 590px;
	max-height: 590px;
    background: #ffffff;
    margin-top: 60px;
    padding-bottom: 56.25%; /* 16:9 비율 (9/16 = 0.5625) */
    overflow: hidden;
}

.slider-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.slider-container img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* 탭 메뉴 위치 수정 */
.tab-menu {
    position: sticky;  /* fixed에서 sticky로 변경 */
    top: 100px;        /* 헤더 높이만큼만 지정 */
    left: 0;
    width: 100%;
    display: flex;
    background: #fff;
    border-bottom: 1px solid #eee;
	padding-bottom: 10px;
    z-index: 1001;
}

.tab-link {
    flex: 1;
    padding: 15px 0;
    text-align: center;
    color: #666;
    text-decoration: none;
    font-size: 35px;
    position: relative;
}

.tab-link.active {
    color: #e74c3c;
    font-weight: bold;
}

.tab-link.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #e74c3c;
}

/* 첫 번째 섹션 외의 다른 섹션들 */
.tab-section:not(:first-child) {
    margin-top: 0;
}

.tab-section {
    margin-top: 0px; /* 이미지 슬라이더 높이 + 헤더 높이 + 탭 높이 */
    padding-top: 20px; /* 상단 여백 추가 */
    padding-bottom: 20px;
    border-bottom: 8px solid #f5f5f5;
}

.tab-section.active {
    /* display: block 제거 */
}

/* 섹션 간 구분을 위한 스타일 추가 */
.tab-section {
    border-bottom: 8px solid #f5f5f5; /* 섹션 간 구분선 추가 */
}

.tab-section:last-child {
    border-bottom: none; /* 마지막 섹션은 구분선 제거 */
    margin-bottom: 30px; /* 마지막 섹션 아래 여백 추가 */
}

/* 섹션 제목 스타일 강화 */
.tab-section h3 {
	font-family: "Notosans", sans-serif;
    font-size: 35px;
    font-weight: bold;
    margin-bottom: 20px;
    color: #000000;
	margin-left: 10px;
	margin-right: 10px;
}

.tab-section h4 {
	font-size: 32px;
    color: #333;
	margin-left: 10px;
	margin-right: 10px;
	margin-top: 10px;
	margin-bottom: 15px;
}

.tab-section h5 {
	font-size: 30px;
    color: #333;
	margin-left: 10px;
	margin-right: 10px;
	margin-top: 0px;
	margin-bottom: 5px;
}

.tab-section h6 {
	font-size: 32px;
    color: #333;
	margin-left: 10px;
	margin-right: 10px;
	margin-top: 30px;
	margin-bottom: 15px;
}

.tab-section p {
	font-size: 32px;
	margin-left: 10px;
	margin-right: 10px;
}

.tab-section .address {
	font-size: 30px;
	margin-left: 10px;
	margin-right: 10px;
}

.intro-item {
    background: #f8f8f8;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 15px;
	margin-left: 10px;
	margin-right: 10px;
}

.event-item {
    background: #f8f8f8;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 15px;
	margin-left: 10px;
	margin-right: 10px;
}

.price-list {
    margin-bottom: 15px;
}

.price-item {
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
    border-bottom: 1px solid #eee;
	margin-left: 10px;
	margin-right: 10px;
}

.price-item h5 {
	font-size: 30px;
    color: #333;
	margin-left: 10px;
	margin-right: 10px;
	margin-top: 10px !important;
	margin-bottom: 5px;
}

.price-item h6 {
	font-size: 26px !important;
    color: #666666 !important;
	margin-left: 10px !important;
	margin-top: 0px !important;
	margin-bottom: 10px !important;
}

.price {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.price-top {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%; /* 너비를 100%로 설정하여 기준점 제공 */
}

.dc-rate {
    color: #e74c3c !important;
    font-weight: bold !important;
    font-size: 23px !important;
    margin: 0 !important;
}

.org-price {
    color: #999 !important;
    text-decoration: line-through !important;
    font-size: 20px !important;
    margin: 0 !important;
}

.final-price {
    color: #333 !important;
    font-weight: bold !important;
    font-size: 30px !important;
    align-self: flex-end; /* 가로 가운데 정렬 */
}

.guide-info {
    background: #f8f8f8;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 15px;
	margin-left: 10px;
	margin-right: 10px;
}

.map-container {
    height: 200px;
    background: #f8f8f8;
    margin-bottom: 15px;
    border-radius: 8px;
	margin-left: 10px;
	margin-right: 10px;
}

.review-item {
    border-bottom: 1px solid #eee;
    padding: 15px 0;
	margin-left: 10px;
	margin-right: 10px;
	font-size: 24px;
}

.review-item p {
	font-size: 28px;
	margin-top: 0px;
	margin-bottom: 0px;
}

.review-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
	margin-left: 10px;
	margin-right: 10px;
}

.reviewer {
	font-size: 23px;
	color: #616060;
}

.rating {
    color: #ffb400;
}

/* 후기 작성 폼 스타일 */
.review-write {
    background: #f8f8f8;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 20px;
	margin-left: 10px;
	margin-right: 10px;
	height: 310px;
}

.rating-select {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
	margin-left: 10px;
	margin-right: 10px;
}

.rating-select span {
    margin-right: 15px;
    color: #666;
	margin-left: 10px;
	margin-right: 10px;
}

.star-rating {
    display: flex;
    gap: 5px;
	margin-left: 10px;
	margin-right: 10px;
}

.star {
    color: #ddd;
    font-size: 24px;
    cursor: pointer;
    transition: color 0.2s;
	margin-left: 10px;
	margin-right: 10px;
}

.star.active, .star.hover {
    color: #ffcc00; /* 노란색 */
}

.review-textarea {
    width: 100%;
    height: 120px;
    padding: 15px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    resize: none;
    font-size: 30px;
    margin-left: 10px;
    margin-right: 10px;
}

.textarea-container {
    position: relative;
    width: 100%;
    margin-bottom: 10px;
}

.char-counter {
    position: absolute;
    bottom: 15px;
    right: 10px;
    font-size: 0.8em;
    color: #888;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 2px 5px;
    border-radius: 3px;
}

.char-counter.limit-reached {
    color: #e74c3c;
    font-weight: bold;
}

.review-submit-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
}

.review-submit {
    width: 200px;
    height: 70px;
    font-size: 30px;
    background: #e74c3c;
    color: white;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    font-weight: bold;
    float: right;
    display: flex;           /* Flexbox 사용 */
    align-items: center;     /* 수직 가운데 정렬 */
    justify-content: center; /* 수평 가운데 정렬 */
    padding: 0;             /* 기존 패딩 제거 */
}

.review-submit:hover {
    background-color: #c0392b;
}

.review-submit:hover {
	color: #e74c3c !important;
	background: #ffffff;
	border: 2px solid #e74c3c;
}

/* 기존 후기 목록 스타일 유지 */




/* 이미지 슬라이더 화살표 버튼 스타일 수정 */
.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 84px;
    height: 84px;
    padding: 0; /* 내부 여백 제거 */
    margin: 0; /* 외부 여백 제거 */
    background: rgba(0, 0, 0, 0.3);
    border: none;
    border-radius: 9999px; /* 50% 대신 큰 값으로 설정 */
    color: white;
    font-size: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 100;
    backdrop-filter: blur(2px);
    box-sizing: border-box; /* 박스 사이징 명시 */
    line-height: 1; /* 라인 높이 초기화 */
}

.slider-arrow:hover {
    background: rgba(0, 0, 0, 0.5); /* 호버 시 약간 진해짐 */
}

.slider-arrow.prev {
    left: 15px;
}

.slider-arrow.next {
    right: 15px;
}

/* 화살표 아이콘 스타일 */
.slider-arrow i {
    opacity: 0.9;
    color: rgba(255, 255, 255, 0.9); /* 아이콘 색상 약간 투명하게 */
}

/* 이미지 슬라이더 컨테이너 수정 */
.image-slider {
    position: relative;
    width: 100%;
    background: #ffffff;
    margin-top: 60px;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

.slider-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    transition: transform 0.3s ease-in-out;
}

.slider-container img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    flex-shrink: 0;
}



.detail-bottom-buttons {
    position: sticky;
    bottom: 0;
    left: 0;
	width: 978px;
	max-width: 978px;
	min-width: 978px;
	justify-content: center;
	margin: 0 auto;
	height: 120px;
	min-height: 120px;
	max-height: 120px;
    display: flex;
    background: #fff;
    padding: 12px 16px;
    box-shadow: 0 -2px 6px rgba(0,0,0,0.1);
    z-index: 1002; /* 다른 요소들보다 위에 표시되도록 z-index 높게 설정 */
}

/* 기존 버튼 스타일은 유지 */
.detail-bottom-buttons button {
    
    height: 100px;
    border: none;
    border-radius: 24px;
    font-size: 36px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
}

.call-button {
	width: 260px;
    background: #e74c3c;
    color: white;
    border: 1px solid #e74c3c !important;
}

.sms-button {
	width: 420px;
    background: #e74c3c;
    color: white;
	border: 1px solid #e74c3c !important;
    margin-right: 8px;
}

.sms-button2 {
	width: 280px;
	background: #e74c3c;
    color: white;
	border: 1px solid #e74c3c !important;
    margin-right: 8px;
}













.review-more-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
}

.review-more-btn {
	width: 200px;
    height: 90px;
    background: #ffffff;
	border: 2px solid #e74c3c;
	cursor: pointer;
    font-weight: bold;
    float: right;
    display: flex;           /* Flexbox 사용 */
    align-items: center;     /* 수직 가운데 정렬 */
    justify-content: center; /* 수평 가운데 정렬 */
    padding: 0;             /* 기존 패딩 제거 */
    color: #e74c3c !important;
    font-size: 30px;
}

.review-more-btn:hover {
	color: #ffffff !important;
	background: #e74c3c;
}

.review-more-btn.loading {
    pointer-events: none;
    opacity: 0.7;
}


.overlay-text {
    position: absolute;
	width: 100%;
	max-width: 300px; /* 텍스트 최대 너비 설정 */
    top: 50%; /* 세로 중앙 정렬 */
    left: 50%; /* 가로 중앙 정렬 */
    transform: translate(-50%, -50%); /* 정확한 중앙 정렬 */
    color: white; /* 텍스트 색상 */
	color: rgba(255, 255, 255, 0.4); /* 90% 불투명도 */
    font-size: 28px; /* 텍스트 크기 */
    text-align: center;
	font-family: "Notosans", sans-serif;
	font-weight: 700;
    /* 텍스트를 더 잘 보이게 하기 위한 옵션 */
    text-shadow: 2px 2px 4px rgba(0,0,0,0.7);
    /* 배경을 약간 어둡게 하여 텍스트를 더 잘 보이게 함 */
    background-color: rgba(0,0,0,0.3);
    padding: 10px 20px;
    border-radius: 5px;
	cursor: pointer; /* 손가락 커서 추가 */
    transition: background-color 0.3s ease; /* 호버 효과를 위한 트랜지션 */
}

/* 호버 효과 추가 */
.overlay-text:hover {
    background-color: rgba(0,0,0,0.5);
}

.overlay-text .store-name {
    font-size: 28px;
    color: white;
    font-weight: bold;
}

.overlay-text .location {
    font-size: 23px;
    color: #fbcd41; /* 금색 */
}

.overlay-text .category {
    font-size: 21px;
    color: #fe86c2; /* 핑크색 */
}



.favorite-icon {
    float: right;
    cursor: pointer;
    color: rgba(207, 207, 207, 0.7);  /* 내부 색상 투명 */
    -webkit-text-stroke: 1px rgba(207, 207, 207, 0.7);  /* 빨간색 테두리 */
    transition: all 0.3s ease;
    font-style: normal;
    margin-left: 10px;
    font-size: 1.2em;  /* 별 크기 조정 */
}

.favorite-icon.active {
    color: rgba(255, 91, 91, 0.7);  /* active 시 노란색으로 채우기 */
    -webkit-text-stroke: 1px rgba(255, 91, 91, 0.7);  /* active 시 테두리 유지 */
	animation: heartBeat 0.3s ease-in-out; 
}




.home-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: rgba(255, 255, 255, 0.1);
    color: white;
    padding: 8px 15px;
    border-radius: 5px;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.home-button i {
    font-size: 2.2em;
}

.home-button span {
    font-size: 1em;
    font-weight: 500;
}

.home-button:hover {
    background-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}



/* 하트박동 애니메이션 정의 */
@keyframes heartBeat {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.3);
    }
    100% {
        transform: scale(1);
    }
}

/* 클릭 시 물결 효과 */
.favorite-icon:active {
    animation: ripple 0.4s ease-out;
}

@keyframes ripple {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.2);
        opacity: 0.8;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* VIP 노출 영역 - 심플한 반짝임 효과만 */
.image1.fit1 {
    position: relative;
    overflow: hidden;
}

.image1.fit1::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        45deg,
        transparent 30%,
        rgba(255, 255, 255, 0.3) 50%,
        transparent 70%
    );
    animation: vipShine 2.5s infinite;
    z-index: 2;
    pointer-events: none;
}

@keyframes vipShine {
    0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
    100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
}