﻿@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");

/* 취소선 스타일 */
del {
	text-decoration: line-through;
	color: #999;
	opacity: 0.7;
}

.disabled-service {
	text-decoration: line-through !important;
	color: #999 !important;
	opacity: 0.7 !important;
}

/* 더 강력한 규칙 */
.lv-service .service-desc .disabled-service {
	text-decoration: line-through !important;
	color: #999 !important;
	opacity: 0.7 !important;
	font-weight: normal !important;
}

/*
	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;
			}

			/* 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: auto; /* 팝업 내용의 스크롤 허용 */
			}

			.popup-content2 {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* ?곷떒 ?⑤뵫?쇰줈 ?リ린 踰꾪듉 ?곸뿭 ?뺣낫 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 80vh;
				overflow-y: auto; /* 팝업 내용의 스크롤 허용 */
			}

			.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 초기화 */
			}
			
			/* 우측 메뉴 스타일 */
			.lv-title-right {
				color: #ff6b6b;
				font-size: 1.0em;
				font-weight: 700;
				font-family: 'Noto Sans KR', sans-serif;
				padding: 8px 16px;
				border-radius: 20px;
				border: 2px solid #ff6b6b;
				background: linear-gradient(135deg, #ff6b6b, #ff8e53);
				color: white;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
				transition: all 0.3s ease;
			}

			.lv-title-right:hover {
				transform: translateY(-2px);
				box-shadow: 0 6px 20px rgba(255, 107, 107, 0.5);
				background: linear-gradient(135deg, #ff8e53, #ff6b6b);
			}
			
			.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;
			}


			.lv-icon {
				width: 60px;
				height: 60px;
				object-fit: contain;
				filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
			}
			
			.lv-title {
				font-size: 24px;
				font-weight: bold;
				color: #2c3e50;
				text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
			}
			
			/* 媛濡??뺣젹 */
			.lv-price {
				font-size: 14px;
				color: #6c757d;
				font-weight: normal;
				margin-top: 5px;
				display: block;
			}

			.lv-content {
				display: grid;
				grid-template-columns: 1fr 1fr;
				gap: 20px;
				margin-bottom: 30px;
			}
			
			.lv-service {
				background: rgba(255, 255, 255, 0.8);
				border-radius: 10px;
				padding: 15px;
				border-left: 4px solid #007bff;
				box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
			}
						
			.service-title {
				font-size: 16px;
				font-weight: bold;
				color: #007bff;
				margin-bottom: 8px;
				text-transform: uppercase;
				letter-spacing: 0.5px;
			}

			.service-desc {
				counter-reset: service-item;
				font-size: 14px;
				color: #6c757d;
				line-height: 1.5;
				cursor: pointer;
				transition: all 0.2s ease;
				position: relative;
				padding: 16px;
				background: linear-gradient(135deg, #ffffff, #f8f9fa);
				border-radius: 12px;
				border: 1px solid #dee2e6;
			}

			.lv-btn {
				width: 100%;
				padding: 12px 24px;
				background: linear-gradient(135deg, #007bff, #0056b3);
				color: white !important;
				font-size: 16px;
				font-weight: bold;
				border: none;
				border-radius: 8px;
				cursor: pointer;
				transition: all 0.3s ease;
				text-align: center;
				box-shadow: 0 4px 15px rgba(0, 123, 255, 0.3);
				position: relative;
				overflow: hidden;
			}			
		}	

		/* 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;
			}

			/* 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: auto; /* 팝업 내용의 스크롤 허용 */
			}

			.popup-content2 {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* ?곷떒 ?⑤뵫?쇰줈 ?リ린 踰꾪듉 ?곸뿭 ?뺣낫 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 80vh;
				overflow-y: auto; /* 팝업 내용의 스크롤 허용 */
			}

			.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 초기화 */
			}
			
			/* 우측 메뉴 스타일 */
			.lv-title-right {
				color: #ff6b6b;
				font-size: 1.0em;
				font-weight: 700;
				font-family: 'Noto Sans KR', sans-serif;
				padding: 8px 16px;
				border-radius: 20px;
				border: 2px solid #ff6b6b;
				background: linear-gradient(135deg, #ff6b6b, #ff8e53);
				color: white;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
				transition: all 0.3s ease;
			}

			.lv-title-right:hover {
				transform: translateY(-2px);
				box-shadow: 0 6px 20px rgba(255, 107, 107, 0.5);
				background: linear-gradient(135deg, #ff8e53, #ff6b6b);
			}

			.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;
			}


			.lv-icon {
				width: 60px;
				height: 60px;
				object-fit: contain;
				filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
			}
			
			.lv-title {
				font-size: 24px;
				font-weight: bold;
				color: #2c3e50;
				text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
			}
						
			/* 媛濡??뺣젹 */
			.lv-price {
				font-size: 14px;
				color: #6c757d;
				font-weight: normal;
				margin-top: 5px;
				display: block;
			}

			.lv-content {
				display: grid;
				grid-template-columns: 1fr 1fr;
				gap: 20px;
				margin-bottom: 30px;
			}
			
			.lv-service {
				background: rgba(255, 255, 255, 0.8);
				border-radius: 10px;
				padding: 15px;
				border-left: 4px solid #007bff;
				box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
			}
						
			.service-title {
				font-size: 16px;
				font-weight: bold;
				color: #007bff;
				margin-bottom: 8px;
				text-transform: uppercase;
				letter-spacing: 0.5px;
			}

			.service-desc {
				counter-reset: service-item;
				font-size: 14px;
				color: #6c757d;
				line-height: 1.5;
				cursor: pointer;
				transition: all 0.2s ease;
				position: relative;
				padding: 16px;
				background: linear-gradient(135deg, #ffffff, #f8f9fa);
				border-radius: 12px;
				border: 1px solid #dee2e6;
			}

			.lv-btn {
				width: 100%;
				padding: 12px 24px;
				background: linear-gradient(135deg, #007bff, #0056b3);
				color: white !important;
				font-size: 16px;
				font-weight: bold;
				border: none;
				border-radius: 8px;
				cursor: pointer;
				transition: all 0.3s ease;
				text-align: center;
				box-shadow: 0 4px 15px rgba(0, 123, 255, 0.3);
				position: relative;
				overflow: hidden;
			}
		}


		/* 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;
			}

			/* 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: auto; /* 팝업 내용의 스크롤 허용 */
			}

			.popup-content2 {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* ?곷떒 ?⑤뵫?쇰줈 ?リ린 踰꾪듉 ?곸뿭 ?뺣낫 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 80vh;
				overflow-y: auto; /* ?占쎌껜 而⑦뀗痢좎쓽 ?占쏀겕濡ㅿ옙? ?占쎌쓬 */
			}

			.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 초기화 */
			}
			
			/* 우측 메뉴 스타일 */
			.lv-title-right {
				color: #ff6b6b;
				font-size: 1.0em;
				font-weight: 700;
				font-family: 'Noto Sans KR', sans-serif;
				padding: 8px 16px;
				border-radius: 20px;
				border: 2px solid #ff6b6b;
				background: linear-gradient(135deg, #ff6b6b, #ff8e53);
				color: white;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
				transition: all 0.3s ease;
			}

			.lv-title-right:hover {
				transform: translateY(-2px);
				box-shadow: 0 6px 20px rgba(255, 107, 107, 0.5);
				background: linear-gradient(135deg, #ff8e53, #ff6b6b);
			}

			.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;
			}


			.lv-icon {
				width: 60px;
				height: 60px;
				object-fit: contain;
				filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
			}
			
			.lv-title {
				font-size: 24px;
				font-weight: bold;
				color: #2c3e50;
				text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
			}
			
			/* 媛濡??뺣젹 */
			.lv-price {
				font-size: 14px;
				color: #6c757d;
				font-weight: normal;
				margin-top: 5px;
				display: block;
			}

			.lv-content {
				display: grid;
				grid-template-columns: 1fr 1fr;
				gap: 20px;
				margin-bottom: 30px;
			}
			
			.lv-service {
				background: rgba(255, 255, 255, 0.8);
				border-radius: 10px;
				padding: 15px;
				border-left: 4px solid #007bff;
				box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
			}
						
			.service-title {
				font-size: 16px;
				font-weight: bold;
				color: #007bff;
				margin-bottom: 8px;
				text-transform: uppercase;
				letter-spacing: 0.5px;
			}

			.service-desc {
				counter-reset: service-item;
				font-size: 14px;
				color: #6c757d;
				line-height: 1.5;
				cursor: pointer;
				transition: all 0.2s ease;
				position: relative;
				padding: 16px;
				background: linear-gradient(135deg, #ffffff, #f8f9fa);
				border-radius: 12px;
				border: 1px solid #dee2e6;
			}

			.lv-btn {
				width: 100%;
				padding: 12px 24px;
				background: linear-gradient(135deg, #007bff, #0056b3);
				color: white !important;
				font-size: 16px;
				font-weight: bold;
				border: none;
				border-radius: 8px;
				cursor: pointer;
				transition: all 0.3s ease;
				text-align: center;
				box-shadow: 0 4px 15px rgba(0, 123, 255, 0.3);
				position: relative;
				overflow: hidden;
			}
		}


		/* 모바일 화면 : 리뷰 고정 */
		@media screen and (max-width: 980px) {
			
			html, body {
				min-width: 978px;
			}

			#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;
			}

			/* 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; /* ?占쎌껜 而⑦뀗痢좎쓽 ?占쏀겕濡ㅿ옙? ?占쎌쓬 */
			}

			.popup-content2 {
				position: relative;
				background-color: #fefefe;
				margin: 150px auto;
				padding: 90px 20px 20px 20px; /* ?곷떒 ?⑤뵫?쇰줈 ?リ린 踰꾪듉 ?곸뿭 ?뺣낫 */
				width: 800px;
				max-width: 850px;
				border-radius: 10px;
				max-height: 1750px;
				height: 1750px;
				overflow: auto; /* ?占쎌껜 而⑦뀗痢좎쓽 ?占쏀겕濡ㅿ옙? ?占쎌쓬 */
			}


			.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 초기화 */
			}
			
			/* 우측 메뉴 스타일 */
			.lv-title-right {
				color: #ff6b6b;
				font-size: 1.7em;
				font-weight: 700;
				font-family: 'Noto Sans KR', sans-serif;
				padding: 8px 16px;
				border-radius: 20px;
				border: 2px solid #ff6b6b;
				background: linear-gradient(135deg, #ff6b6b, #ff8e53);
				color: white;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
				transition: all 0.3s ease;
			}

			.lv-title-right:hover {
				transform: translateY(-2px);
				box-shadow: 0 6px 20px rgba(255, 107, 107, 0.5);
				background: linear-gradient(135deg, #ff8e53, #ff6b6b);
			}

			.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;
			}


			.lv-icon {
				width: 100px;
				height: 100px;
				object-fit: contain;
				filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
			}
			
			.lv-title {
				font-size: 48px;
				font-weight: bold;
				color: #2c3e50;
				text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
			}
			
			/* 媛濡??뺣젹 */
			.lv-price {
				font-size: 24px;
				color: #6c757d;
				font-weight: normal;
				margin-top: 5px;
				display: block;
			}

			.lv-content {
				display: grid;
				grid-template-columns: 1fr 1fr;
				gap: 20px;
				margin-bottom: 40px;
			}
			
			.lv-service {
				background: rgba(255, 255, 255, 0.8);
				border-radius: 10px;
				padding: 15px;
				border-left: 4px solid #007bff;
				box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
			}
			
			.service-title {
				font-size: 22px;
				font-weight: bold;
				color: #007bff;
				margin-bottom: 8px;
				text-transform: uppercase;
				letter-spacing: 0.5px;
			}

			.service-desc {
				counter-reset: service-item;
				font-size: 24px;
				color: #6c757d;
				line-height: 1.5;
				cursor: pointer;
				transition: all 0.2s ease;
				position: relative;
				padding: 16px;
				background: linear-gradient(135deg, #ffffff, #f8f9fa);
				border-radius: 12px;
				border: 1px solid #dee2e6;
			}

			.lv-btn {
				width: 100%;
				padding: 12px 24px;
				background: linear-gradient(135deg, #007bff, #0056b3);
				color: white !important;
				font-size: 26px;
				font-weight: bold;
				border: none;
				border-radius: 8px;
				cursor: pointer;
				transition: all 0.3s ease;
				text-align: center;
				box-shadow: 0 4px 15px rgba(0, 123, 255, 0.3);
				position: relative;
				overflow: hidden;
			}


			.grade-icon {
				width: 110px;
				height: 110px;
			}
		}



		
		/* Beautiful Headline Design for Management Section */
		.detail-section h4 {
			background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
			color: white;
			padding: 15px 20px;
			border-radius: 10px;
			font-size: 1.2em;
			font-weight: 600;
			text-align: center;
			margin: 20px 0;
			box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
			position: relative;
			overflow: hidden;
			letter-spacing: 0.5px;
		}

		.detail-section h4::before {
			content: '';
			position: absolute;
			top: 0;
			left: -100%;
			width: 100%;
			height: 100%;
			background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
			transition: left 0.5s;
		}

		.detail-section h4:hover::before {
			left: 100%;
		}

		.detail-section h4::after {
			position: absolute;
			left: 15px;
			top: 50%;
			transform: translateY(-50%);
			font-size: 1.1em;
		}

		/* Alternative style for different sections */
		.detail-section h4.management-headline {
			background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
			box-shadow: 0 4px 15px rgba(245, 87, 108, 0.3);
		}

		.detail-section h4.schedule-headline {
			background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
			box-shadow: 0 4px 15px rgba(79, 172, 254, 0.3);
		}

		.detail-section h4.settlement-headline {
			background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
			box-shadow: 0 4px 15px rgba(67, 233, 123, 0.3);
		}

		.detail-section h4.phone-headline {
			background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
			box-shadow: 0 4px 15px rgba(250, 112, 154, 0.3);
		}

/* 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;
			}

			/* 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: auto; /* 팝업 내용의 스크롤 허용 */
			}

			.popup-content2 {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* ?곷떒 ?⑤뵫?쇰줈 ?リ린 踰꾪듉 ?곸뿭 ?뺣낫 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 80vh;
				overflow-y: auto; /* ?占쎌껜 而⑦뀗痢좎쓽 ?占쏀겕濡ㅿ옙? ?占쎌쓬 */
			}

			.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 초기화 */
			}
			
			/* 우측 메뉴 스타일 */
			.lv-title-right {
				color: #ff6b6b;
				font-size: 1.0em;
				font-weight: 700;
				font-family: 'Noto Sans KR', sans-serif;
				padding: 8px 16px;
				border-radius: 20px;
				border: 2px solid #ff6b6b;
				background: linear-gradient(135deg, #ff6b6b, #ff8e53);
				color: white;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
				transition: all 0.3s ease;
			}

			.lv-title-right:hover {
				transform: translateY(-2px);
				box-shadow: 0 6px 20px rgba(255, 107, 107, 0.5);
				background: linear-gradient(135deg, #ff8e53, #ff6b6b);
			}

			.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;
			}

			/* 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: auto; /* 팝업 내용의 스크롤 허용 */
			}

			.popup-content2 {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* ?곷떒 ?⑤뵫?쇰줈 ?リ린 踰꾪듉 ?곸뿭 ?뺣낫 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 80vh;
				overflow-y: auto; /* ?占쎌껜 而⑦뀗痢좎쓽 ?占쏀겕濡ㅿ옙? ?占쎌쓬 */
			}

			.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 초기화 */
			}
			
			/* 우측 메뉴 스타일 */
			.lv-title-right {
				color: #ff6b6b;
				font-size: 1.0em;
				font-weight: 700;
				font-family: 'Noto Sans KR', sans-serif;
				padding: 8px 16px;
				border-radius: 20px;
				border: 2px solid #ff6b6b;
				background: linear-gradient(135deg, #ff6b6b, #ff8e53);
				color: white;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
				transition: all 0.3s ease;
			}

			.lv-title-right:hover {
				transform: translateY(-2px);
				box-shadow: 0 6px 20px rgba(255, 107, 107, 0.5);
				background: linear-gradient(135deg, #ff8e53, #ff6b6b);
			}

			.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;
			}

			/* 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: auto; /* 팝업 내용의 스크롤 허용 */
			}

			.popup-content2 {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* ?곷떒 ?⑤뵫?쇰줈 ?リ린 踰꾪듉 ?곸뿭 ?뺣낫 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 80vh;
				overflow-y: auto; /* ?占쎌껜 而⑦뀗痢좎쓽 ?占쏀겕濡ㅿ옙? ?占쎌쓬 */
			}

			.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 초기화 */
			}
			
			/* 우측 메뉴 스타일 */
			.lv-title-right {
				color: #ff6b6b;
				font-size: 1.0em;
				font-weight: 700;
				font-family: 'Noto Sans KR', sans-serif;
				padding: 8px 16px;
				border-radius: 20px;
				border: 2px solid #ff6b6b;
				background: linear-gradient(135deg, #ff6b6b, #ff8e53);
				color: white;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
				transition: all 0.3s ease;
			}

			.lv-title-right:hover {
				transform: translateY(-2px);
				box-shadow: 0 6px 20px rgba(255, 107, 107, 0.5);
				background: linear-gradient(135deg, #ff8e53, #ff6b6b);
			}

			.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;
			}

			/* 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; /* ?占쎌껜 而⑦뀗痢좎쓽 ?占쏀겕濡ㅿ옙? ?占쎌쓬 */
			}

			.popup-content2 {
				position: relative;
				background-color: #fefefe;
				margin: 150px auto;
				padding: 90px 20px 20px 20px; /* ?곷떒 ?⑤뵫?쇰줈 ?リ린 踰꾪듉 ?곸뿭 ?뺣낫 */
				width: 800px;
				max-width: 850px;
				border-radius: 10px;
				max-height: 1750px;
				height: 1750px;
				overflow: auto; /* ?占쎌껜 而⑦뀗痢좎쓽 ?占쏀겕濡ㅿ옙? ?占쎌쓬 */
			}


			.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 초기화 */
			}
			
			/* 우측 메뉴 스타일 */
			.lv-title-right {
				color: #ff6b6b;
				font-size: 1.7em;
				font-weight: 700;
				font-family: 'Noto Sans KR', sans-serif;
				padding: 8px 16px;
				border-radius: 20px;
				border: 2px solid #ff6b6b;
				background: linear-gradient(135deg, #ff6b6b, #ff8e53);
				color: white;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
				transition: all 0.3s ease;
			}

			.lv-title-right:hover {
				transform: translateY(-2px);
				box-shadow: 0 6px 20px rgba(255, 107, 107, 0.5);
				background: linear-gradient(135deg, #ff8e53, #ff6b6b);
			}

			.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;
			}	
			

			.grade-icon {
				width: 110px;
				height: 110px;
			}
		}
	

/* 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)  {
			
			.calculation-item {
				display: flex;
				justify-content: space-between;
				align-items: center;
				padding: 12px 0;
				border-bottom: 1px solid #e9ecef;
				font-size: 1.1em;
			}

			.calculation-item:last-child {
				border-bottom: none;
			}

			.calculation-item.total {
				font-weight: bold;
				font-size: 1.0em;
				color: #667eea;
				background: #e3f2fd;
				padding: 15px;
				border-radius: 8px;
				margin-top: 10px;
			}
			

			.recommendation-popup-buttons {
				display: flex;
				gap: 15px;
				justify-content: center;
			}

			.select-recommended-btn, .retake-survey-btn {
				padding: 15px 25px;
				border: none;
				border-radius: 12px;
				font-size: 1em;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				line-height: 1;
				gap: 8px;
				box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
			}

			
			.reason-line {
				font-size: 0.9em;
				color: #5a6c7d;
				line-height: 1.4;
				padding-left: 5px;
			}
			


			.recommendation-popup-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: linear-gradient(135deg, #fff 0%, #f0f8ff 100%);
				border-radius: 20px;
				padding: 35px;
				max-width: 550px;
				width: 90%;
				text-align: center;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
				border: 2px solid rgba(135, 206, 235, 0.3);
			}

			.recommendation-icon {
				font-size: 2.5em;
				margin-bottom: 15px;
				display: block;
				animation: pulse 2s infinite;
			}

            .recommendation-popup-header {
                position: relative;
            }

            .recommendation-popup-header h3 {
                margin: 0 0 20px 0;
                color: #2c3e50;
                font-size: 1.3em;
                font-weight: bold;
            }

            .recommendation-popup-header .close-question-btn {
                position: absolute;
                top: 10px;
                right: 10px;
                width: 50px;
                height: 50px;
                border: none;
                border-radius: 50%;
                background: #ffffff;
                color: rgba(255, 107, 107, 0.4) !important;
                font-size: 33px;
                font-weight: bold;
                cursor: pointer;
                display: flex;
                align-items: center;
                justify-content: center;
                transition: all 0.3s ease;
                box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
                line-height: 1;
                padding: 0;
            }

			.recommendation-popup-body h4 {
				margin: 0 0 25px 0;
				color: #2c3e50;
				font-size: 1.2em;
				line-height: 1.5;
			}

			.recommended-grade-display {
				display: flex;
				align-items: center;
				gap: 20px;
				margin-bottom: 25px;
				padding: 20px;
				background: rgba(135, 206, 235, 0.1);
				border-radius: 15px;
				border: 1px solid rgba(135, 206, 235, 0.2);
			}

			.recommended-grade-icon {
				width: 60px !important;
				height: 60px !important;
				object-fit: contain;
				filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
			}

			.recommended-grade-info {
				flex: 1;
				text-align: left;
			}

			.recommended-grade-info p {
				margin: 0 0 15px 0;
				color: #5a6c7d;
				font-size: 0.95em;
			}

			.recommendation-reasons {
				margin-top: 15px;
			}

			.recommendation-reasons h5 {
				margin: 0 0 10px 0;
				color: #2c3e50;
				font-size: 1em;
				font-weight: bold;
			}

			
			.progress-bar {
				width: 100%;
				height: 10px;
				background: rgba(135, 206, 235, 0.2);
				border-radius: 5px;
				overflow: hidden;
				margin-bottom: 25px;
			}

			.question-popup-body h4 {
				margin: 0 0 30px 0;
				color: #2c3e50;
				font-size: 1.2em;
				line-height: 1.5;
			}

			.question-options {
				display: flex;
				flex-direction: column;
				gap: 15px;
			}

			.question-option {
				padding: 18px 25px;
				border: 2px solid rgba(135, 206, 235, 0.3);
				border-radius: 15px;
				background: white;
				color: #2c3e50;
				font-size: 1em;
				cursor: pointer;
				transition: all 0.3s ease;
				text-align: left;
				display: flex;
				align-items: center;
				line-height: 1.2;
				gap: 15px;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
			}
			
			.question-popup-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: linear-gradient(135deg, #fff 0%, #f0f8ff 100%);
				border-radius: 20px;
				padding: 35px;
				max-width: 550px;
				width: 90%;
				text-align: center;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
				border: 2px solid rgba(135, 206, 235, 0.3);
			}

			.question-icon {
				font-size: 2.5em;
				margin-bottom: 15px;
				display: block;
				animation: pulse 2s infinite;
			}


			.question-popup-header {
				position: relative;
			}

			.question-popup-header h3 {
				margin: 0 0 20px 0;
				color: #2c3e50;
				font-size: 1.3em;
				font-weight: bold;
			}

			.close-question-btn {
				position: absolute;
				top: -10px;
				right: -10px;
				width: 50px;
				height: 50px;
				border: none;
				border-radius: 50%;
				background: #ffffff;
				color: rgba(255, 107, 107, 0.4) !important;
				font-size: 33px;
				font-weight: bold;
				cursor: pointer;
				display: flex;
				align-items: center;
				justify-content: center;
				transition: all 0.3s ease;
				box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
				line-height: 1;
				padding: 0;
			}


			.help-yes-btn, .help-no-btn {
				padding: 15px 25px;
				border: none;
				border-radius: 12px;
				font-size: 1em;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				line-height: 1;
				gap: 8px;
				box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
			}

			.help-question {
				font-weight: bold;
				color: #e74c3c !important;
				font-size: 1.3em !important;
				margin-top: 25px !important;
			}
			
			.feature-icon {
				font-size: 1.5em;
			}

			.help-feature span:last-child {
				font-size: 0.9em;
				color: #5a6c7d;
				font-weight: 500;
			}

			.help-popup-header h3 {
				margin: 0 0 25px 0;
				color: #2c3e50;
				font-size: 1.4em;
				font-weight: bold;
			}

			.help-popup-body p {
				margin: 15px 0;
				color: #5a6c7d;
				line-height: 1.6;
				font-size: 1.05em;
			}

			.help-popup-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: linear-gradient(135deg, #fff 0%, #f8f9ff 100%);
				border-radius: 20px;
				padding: 35px;
				max-width: 450px;
				width: 90%;
				text-align: center;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
				border: 2px solid rgba(255, 182, 193, 0.3);
			}

			.help-icon {
				font-size: 3em;
				margin-bottom: 15px;
				display: block;
				animation: bounce 2s infinite;
			}

			/* Upgrade Popup */
			.upgrade-popup {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0, 0, 0, 0.8);
				z-index: 10001;
				display: none;
			}

			.upgrade-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: white;
				border-radius: 15px;
				max-width: 600px;
				width: 90%;
				max-height: 90%;
				overflow-y: hidden;
				box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
			}

			.upgrade-header {
				display: flex;
				justify-content: space-between;
				align-items: center;
				padding: 25px;
				border-bottom: 2px solid #f0f0f0;
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				border-radius: 15px 15px 0 0;
				color: white;
			}

			.upgrade-header h3 {
				margin: 0;
				color: white;
				font-size: 1.8em;
			}

			.upgrade-close {
				background: none;
				border: none;
				font-size: 2.5em;
				color: white;
				cursor: pointer;
				padding: 0;
				width: 40px;
				height: 40px;
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 50%;
				transition: background-color 0.3s;
			}

			.upgrade-close:hover {
				background-color: rgba(255, 255, 255, 0.2);
			}

			.upgrade-body {
				padding: 20px;
			}

			.upgrade-info {
				display: flex;
				align-items: center;
				justify-content: space-between;
				margin-bottom: 0px;
				padding: 20px;
				background: #f8f9fa;
				border-radius: 12px;
			}

			.upgrade-comparison {
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 20px;
				margin-bottom: 10px;
			}

			.current-grade, .target-grade {
				text-align: center;
				flex: 1;
			}

			.current-grade h4, .target-grade h4 {
				font-family: "Notosans", sans-serif;
				font-size: 1.2em !important;
				font-weight: bold !important;
				color: #333 !important;
				margin-bottom: 15px !important;
			}

			.grade-display {
				display: flex;
				flex-direction: column;
				align-items: center;
				margin-bottom: 10px;
			}

			.grade-icon {
				width: 70px;
				height: 70px;
			}

			.grade-display span {
				font-size: 1.1em;
				font-weight: bold;
				color: #333;
			}

			.remaining-period {
				font-size: 0.9em;
				color: #666;
				background: #e9ecef;
				padding: 8px 12px;
				border-radius: 20px;
				display: inline-block;
			}

			.upgrade-arrow {
				font-size: 2em;
				color: #667eea;
				margin: 0 20px;
			}			
			
						
			/* 다운그레이드 경고 팝업 스타일 */
			.downgrade-warning-popup {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: rgba(0, 0, 0, 0.7);
				z-index: 10000;
				display: flex;
				align-items: center;
				justify-content: center;
				animation: fadeIn 0.3s ease;
			}

			.downgrade-warning-content {
				background: white;
				border-radius: 15px;
				max-width: 500px;
				width: 90%;
				box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
				animation: slideInUp 0.3s ease;
			}

			.downgrade-warning-header {
				background: linear-gradient(135deg, #ff6b6b, #ff8e8e);
				color: white;
				padding: 20px;
				border-radius: 15px 15px 0 0;
				display: flex;
				align-items: center;
				justify-content: space-between;
				position: relative;
			}

			.downgrade-warning-header h3 {
				margin: 0;
				font-size: 23px;
				font-weight: bold;
				display: flex;
				align-items: center;
				gap: 10px;
			}

			.downgrade-warning-close {
				background: none;
				border: none;
				color: white;
				font-size: 34px;
				cursor: pointer;
				padding: 0;
				width: 50px;
				height: 50px;
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 50%;
				transition: background 0.3s ease;
			}

			.downgrade-warning-close:hover {
				background: rgba(255, 255, 255, 0.2);
			}

			.downgrade-warning-body {
				padding: 25px;
			}

			.warning-message {
				text-align: center;
				margin-bottom: 25px;
			}

			.warning-message p {
				margin: 8px 0;
				font-size: 19px;
				line-height: 1.5;
			}

			.current-grade-info {
				background: #f8f9fa;
				border-radius: 10px;
				padding: 20px;
				margin-bottom: 20px;
				text-align: center;
			}

			.current-grade-info .grade-display {
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 15px;
			}

			.current-grade-info .grade-icon {
				width: 60px;
				height: 60px;
			}

			.current-grade-info span {
				font-size: 22px;
				font-weight: bold;
				color: #333;
			}

			.warning-notice {
				background: #e3f2fd;
				border-left: 4px solid #2196f3;
				padding: 15px;
				border-radius: 8px;
				margin-bottom: 20px;
			}

			.warning-notice p {
				margin: 5px 0;
				font-size: 15px;
				color: #1565c0;
				display: flex;
				align-items: center;
				gap: 8px;
			}

			.downgrade-warning-buttons {
				text-align: center;
				display: flex;
				justify-content: center;
				align-items: center;
			}

			.downgrade-warning-ok-btn {
				background: linear-gradient(45deg, #ff6b6b, #ff8e8e);
				color: white;
				border: none;
				padding: 12px 30px;
				margin-bottom: 20px;
				border-radius: 8px;
				font-size: 19px;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				line-height: 1;
			}

			.downgrade-warning-ok-btn:hover {
				background: linear-gradient(45deg, #ff5252, #ff7979);
				transform: translateY(-2px);
				box-shadow: 0 6px 16px rgba(255, 107, 107, 0.4);
			}

			.downgrade-warning-ok-btn:active {
				transform: translateY(0);
				box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
			}


			.upgrade-to-next-btn {
				width: 100%;
				padding: 15px 20px;
				background: linear-gradient(45deg, #ffd700, #ffed4e);
				color: #b8860b;
				border: 2px solid #ffd700;
				border-radius: 10px;
				font-size: 16px;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 4px 12px rgba(255, 215, 0, 0.4);
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 10px;
			}

			.recommendation-benefits p {
				margin: 8px 0;
				padding: 8px 15px;
				background: rgba(40, 167, 69, 0.1);
				border-radius: 8px;
				font-size: 14px;
				color: #155724;
				display: flex;
				align-items: center;
				gap: 10px;
			}

			.grade-price {
				font-size: 16px;
				color: #28a745;
				font-weight: bold;
			}

			.grade-differences {
				margin-bottom: 20px;
			}

			.grade-differences h5 {
				color: #b8860b;
				font-size: 16px;
				margin-bottom: 10px;
				text-align: center;
			}

			.grade-differences ul {
				list-style: none;
				padding: 0;
				margin: 0;
			}

			.grade-differences li {
				padding: 8px 15px;
				margin: 5px 0;
				background: rgba(255, 255, 255, 0.9);
				border-radius: 8px;
				border-left: 4px solid #ffd700;
				font-size: 14px;
				color: #333;
				box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
			}

			.recommended-grade .grade-icon {
				width: 40px;
				height: 40px;
			}

			.recommendation-header h4 {
				color: #b8860b;
				font-weight: bold;
				font-size: 18px;
				margin: 0;
				display: flex;
				align-items: center;
				justify-content: center;
			}

			.popup-grade-icon {
				width: 40px;
				height: 40px;
				object-fit: contain;
				filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
			}
			
			.popup-grade-name {
				font-size: 1.2em;
				font-weight: 700;
				color: #ffffff;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
			}
			
			
			
			.service-detail-close {
				position: absolute;
				top: 15px;
				right: 20px;
				background: none;
				border: none;
				color: white;
				font-size: 43px;
				cursor: pointer;
				padding: 0;
				width: 40px;
				height: 40px;
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 50%;
				transition: background-color 0.2s ease;
			}

			.detail-section p {
				margin: 30px 0;
				padding: 10px;
				line-height: 1.6;
				color: #333;
				font-size: 1.1em;
			}

			.detail-section h4 {
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				color: white;
				padding: 15px 20px;
				border-radius: 10px;
				font-size: 1.2em;
				font-weight: 600;
				text-align: center;
				margin: 20px 0;
				box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
				position: relative;
				overflow: hidden;
				letter-spacing: 0.5px;
			}

			.popup-service-title {
				font-size: 1.1em;
				font-weight: 500;
				color: #ffffff;
				opacity: 0.9;
			}
			
			/* ?쒕퉬???곸꽭 ?낅Т ?ㅽ???*/
			.service-detail-popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0, 0, 0, 0.7);
				z-index: 10000;
				backdrop-filter: blur(5px);
			}

			.service-detail-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: white;
				border-radius: 15px;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
				max-width: 550px;
				width: 90%;
				max-height: 90vh;
				overflow: hidden;
				animation: popupSlideIn 0.3s ease-out;
			}

			@keyframes popupSlideIn {
				from {
					opacity: 0;
					transform: translate(-50%, -50%) scale(0.8);
				}
				to {
					opacity: 1;
					transform: translate(-50%, -50%) scale(1);
				}
			}

			.service-detail-header {
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				color: white;
				padding: 20px 25px;
				position: relative;
			}

			.service-detail-header h3 {
				margin: 0;
				font-size: 1.4em;
				font-weight: 600;
				line-height: 1.3;
			}
			


			.grade-text {
				font-weight: bold !important;
				font-size: 0.95rem !important;
			}

			.grade-note {
				font-size: 0.85rem !important;
				color:rgb(131, 137, 143) !important;
			}

			#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;
			}

			/* 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: auto; /* 팝업 내용의 스크롤 허용 */
			}

			.popup-content2 {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* ?곷떒 ?⑤뵫?쇰줈 ?リ린 踰꾪듉 ?곸뿭 ?뺣낫 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 80vh;
				overflow-y: auto; /* ?占쎌껜 而⑦뀗痢좎쓽 ?占쏀겕濡ㅿ옙? ?占쎌쓬 */
			}


			.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 초기화 */
			}
			
			/* 우측 메뉴 스타일 */
			.lv-title-right {
				color: #ff6b6b;
				font-size: 1.0em;
				font-weight: 700;
				font-family: 'Noto Sans KR', sans-serif;
				padding: 8px 16px;
				border-radius: 20px;
				border: 2px solid #ff6b6b;
				background: linear-gradient(135deg, #ff6b6b, #ff8e53);
				color: white;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
				transition: all 0.3s ease;
			}

			.lv-title-right:hover {
				transform: translateY(-2px);
				box-shadow: 0 6px 20px rgba(255, 107, 107, 0.5);
				background: linear-gradient(135deg, #ff8e53, #ff6b6b);
			}

			.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;
			}
			
			

			/* 이벤트 팝업 스타일 */
			.event-popup {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: rgba(0, 0, 0, 0.8);
				display: flex;
				justify-content: center;
				align-items: center;
				z-index: 10000;
				animation: fadeIn 0.5s ease-out;
			}
			
			.event-content {
				background: rgba(255, 255, 255, 0.95);
				border-radius: 24px;
				padding: 0;
				max-width: 450px;
				width: 90%;
				min-height: 600px;
				overflow: hidden;
				box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
				position: relative;
				animation: slideInUp 0.6s ease-out;
				border: 1px solid rgba(0, 0, 0, 0.08);
				backdrop-filter: blur(20px);
			}

			.event-header {
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				padding: 25px 20px;
				text-align: center;
				border-radius: 24px 24px 0 0;
				position: relative;
				overflow: hidden;
				border-bottom: none;
			}

			.event-header::before {
				content: '';
				position: absolute;
				top: -50%;
				left: -50%;
				width: 200%;
				height: 200%;
				background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
				animation: shimmer 3s infinite;
			}

			.event-icon {
				font-size: 2.2rem;
				color: #FFD700;
				margin-bottom: 10px;
				animation: bounce 2s infinite;
				text-shadow: 0 2px 8px rgba(255, 215, 0, 0.4);
				filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.3));
			}

			.event-header h2 {
				color: #fff;
				font-size: 1.6rem;
				font-weight: 500;
				margin: 0;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				letter-spacing: 0.5px;
			}

			.event-close {
				position: absolute;
				top: 12px;
				right: 15px;
				background: rgba(255, 255, 255, 0.15);
				border: 1px solid rgba(255, 255, 255, 0.2);
				color: #fff;
				font-size: 1.2rem;
				width: 32px;
				height: 32px;
				border-radius: 16px;
				cursor: pointer;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				font-weight: bold;
				line-height: 1;
				box-sizing: border-box;
			}

			.event-close:hover {
				background: rgba(255, 255, 255, 0.25);
				transform: scale(1.1);
				border-color: rgba(255, 255, 255, 0.3);
			}

			.event-body {
				padding: 20px 25px 15px 25px;
				background: rgba(255, 255, 255, 0.95);
			}

			.event-title {
				text-align: center;
				margin-bottom: 20px;
			}

			.event-title h3 {
				color: #666;
				font-size: 1rem;
				margin: 0 0 8px 0;
				font-weight: 500;
				letter-spacing: 0.3px;
			}

			.event-title h1 {
				color: #333;
				font-size: 1.8rem;
				margin: 0;
				font-weight: 800;
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				-webkit-background-clip: text;
				-webkit-text-fill-color: transparent;
				background-clip: text;
				letter-spacing: 0.5px;
			}

			.event-description {
				text-align: center;
				margin-bottom: 20px;
			}

			.event-description p {
				color: #555;
				font-size: 1.0rem;
				line-height: 1.5;
				margin: 8px 0;
				font-weight: 400;
			}

			.event-description strong {
				color: #667eea;
				font-weight: 700;
			}

			.event-benefits {
				margin-bottom: 20px;
			}
									
			.benefit-item {
				display: flex;
				align-items: center;
				margin-bottom: 10px;
				padding: 12px 15px;
				background: linear-gradient(135deg, #ffffff 0%, #f8f9ff 100%);
				border-radius: 8px;
				border-left: 3px solid #667eea;
				transition: all 0.3s ease;
				box-shadow: 0 2px 8px rgba(102, 126, 234, 0.1);
			}

			.benefit-item:hover {
				transform: translateX(5px);
				box-shadow: 0 5px 15px rgba(102, 126, 234, 0.2);
			}

			.benefit-item i {
				color: #667eea;
				font-size: 1rem;
				margin-right: 12px;
				animation: pulse 2s infinite;
			}

			.benefit-item span {
				color: #333;
				font-size: 1.1rem;
				font-weight: 500;
				letter-spacing: 0.2px;
			}

			.event-timer {
				text-align: center;
				padding: 15px;
				background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
				border-radius: 12px;
				margin-bottom: 20px;
				box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
				border: 1px solid rgba(0, 0, 0, 0.05);
			}

			.event-timer p {
				color: #495057;
				font-size: 1.2rem;
				font-weight: 600;
				margin: 0;
				animation: blink 1.5s infinite;
			}

			.event-timer p i {
				text-shadow: 0 0 8px rgba(255, 215, 0, 0.6);
				filter: drop-shadow(0 0 4px rgba(255, 215, 0, 0.4));
			}

			.event-buttons {
				display: flex;
				flex-direction: column;
				gap: 12px;
				padding: 0 20px 20px 20px;
				background: white;
			}

			.event-confirm-btn {
				background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
				color: #333;
				border: none;
				padding: 18px 25px;
				border-radius: 15px;
				font-size: 1.3rem;
				font-weight: 800;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 8px 25px rgba(255, 215, 0, 0.4);
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 10px;
				position: relative;
				overflow: hidden;
				letter-spacing: 0.5px;
				text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
				border: 2px solid rgba(255, 255, 255, 0.2);
			}

			.event-confirm-btn::before {
				content: '';
				position: absolute;
				top: 0;
				left: -100%;
				width: 100%;
				height: 100%;
				background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
				transition: left 0.5s;
			}

			.event-confirm-btn:hover::before {
				left: 100%;
			}

			.event-confirm-btn:hover {
				transform: translateY(-3px);
				box-shadow: 0 12px 35px rgba(255, 215, 0, 0.5);
				background: linear-gradient(135deg, #FFE55C 0%, #FFB347 100%);
			}

			.event-confirm-btn:active {
				transform: translateY(-1px);
			}

			.event-cancel-btn {
				background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
				color: white;
				border: none;
				padding: 10px 25px;
				border-radius: 15px;
				font-size: 0.95rem;
				font-weight: 600;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 6px 20px rgba(108, 117, 125, 0.3);
				letter-spacing: 0.3px;
				border: 2px solid rgba(255, 255, 255, 0.1);
				display: flex;
				align-items: center;
				justify-content: center;
			}

			.event-cancel-btn:hover {
				transform: translateY(-2px);
				box-shadow: 0 8px 25px rgba(108, 117, 125, 0.4);
				background: linear-gradient(135deg, #7a8288 0%, #5a6268 100%);
			}

			.event-cancel-btn:active {
				transform: translateY(-1px);
			}
		}


		/* 3媛쒖뵫 ?占쎈젹 */
		@media screen and (max-width: 1789px) and (min-width: 1371px) {

			.calculation-item {
				display: flex;
				justify-content: space-between;
				align-items: center;
				padding: 12px 0;
				border-bottom: 1px solid #e9ecef;
				font-size: 1.1em;
			}

			.calculation-item:last-child {
				border-bottom: none;
			}

			.calculation-item.total {
				font-weight: bold;
				font-size: 1.0em;
				color: #667eea;
				background: #e3f2fd;
				padding: 15px;
				border-radius: 8px;
				margin-top: 10px;
			}
			

			.recommendation-popup-header .close-question-btn {
				position: absolute;
				top: 10px;
				right: 10px;
				width: 50px;
				height: 50px;
				border: none;
				border-radius: 50%;
				background: #ffffff;
				color: rgba(255, 107, 107, 0.4) !important;
				font-size: 33px;
				font-weight: bold;
				cursor: pointer;
				display: flex;
				align-items: center;
				justify-content: center;
				transition: all 0.3s ease;
				box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
				line-height: 1;
				padding: 0;
			}

			.recommendation-popup-buttons {
				display: flex;
				gap: 15px;
				justify-content: center;
			}

			.select-recommended-btn, .retake-survey-btn {
				padding: 15px 25px;
				border: none;
				border-radius: 12px;
				font-size: 1em;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				line-height: 1;
				gap: 8px;
				box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
			}

			
			.reason-line {
				font-size: 0.9em;
				color: #5a6c7d;
				line-height: 1.4;
				padding-left: 5px;
			}
			


			.recommendation-popup-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: linear-gradient(135deg, #fff 0%, #f0f8ff 100%);
				border-radius: 20px;
				padding: 35px;
				max-width: 550px;
				width: 90%;
				text-align: center;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
				border: 2px solid rgba(135, 206, 235, 0.3);
			}

			.recommendation-icon {
				font-size: 2.5em;
				margin-bottom: 15px;
				display: block;
				animation: pulse 2s infinite;
			}

			.recommendation-popup-header h3 {
				margin: 0 0 20px 0;
				color: #2c3e50;
				font-size: 1.3em;
				font-weight: bold;
			}

			.recommendation-popup-body h4 {
				margin: 0 0 25px 0;
				color: #2c3e50;
				font-size: 1.2em;
				line-height: 1.5;
			}

			.recommended-grade-display {
				display: flex;
				align-items: center;
				gap: 20px;
				margin-bottom: 25px;
				padding: 20px;
				background: rgba(135, 206, 235, 0.1);
				border-radius: 15px;
				border: 1px solid rgba(135, 206, 235, 0.2);
			}

			.recommended-grade-icon {
				width: 60px;
				height: 60px;
				object-fit: contain;
				filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
			}

			.recommended-grade-info {
				flex: 1;
				text-align: left;
			}

			.recommended-grade-info p {
				margin: 0 0 15px 0;
				color: #5a6c7d;
				font-size: 0.95em;
			}

			.recommendation-reasons {
				margin-top: 15px;
			}

			.recommendation-reasons h5 {
				margin: 0 0 10px 0;
				color: #2c3e50;
				font-size: 1em;
				font-weight: bold;
			}

			
			.progress-bar {
				width: 100%;
				height: 10px;
				background: rgba(135, 206, 235, 0.2);
				border-radius: 5px;
				overflow: hidden;
				margin-bottom: 25px;
			}

			.question-popup-body h4 {
				margin: 0 0 30px 0;
				color: #2c3e50;
				font-size: 1.2em;
				line-height: 1.5;
			}

			.question-options {
				display: flex;
				flex-direction: column;
				gap: 15px;
			}

			.question-option {
				padding: 18px 25px;
				border: 2px solid rgba(135, 206, 235, 0.3);
				border-radius: 15px;
				background: white;
				color: #2c3e50;
				font-size: 1em;
				cursor: pointer;
				transition: all 0.3s ease;
				text-align: left;
				display: flex;
				align-items: center;
				line-height: 1.2;
				gap: 15px;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
			}
			
			.question-popup-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: linear-gradient(135deg, #fff 0%, #f0f8ff 100%);
				border-radius: 20px;
				padding: 35px;
				max-width: 550px;
				width: 90%;
				text-align: center;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
				border: 2px solid rgba(135, 206, 235, 0.3);
			}

			.question-icon {
				font-size: 2.5em;
				margin-bottom: 15px;
				display: block;
				animation: pulse 2s infinite;
			}


			.question-popup-header {
				position: relative;
			}

			.question-popup-header h3 {
				margin: 0 0 20px 0;
				color: #2c3e50;
				font-size: 1.3em;
				font-weight: bold;
			}

			.close-question-btn {
				position: absolute;
				top: -10px;
				right: -10px;
				width: 50px;
				height: 50px;
				border: none;
				border-radius: 50%;
				background: #ffffff;
				color: rgba(255, 107, 107, 0.4) !important;
				font-size: 33px;
				font-weight: bold;
				cursor: pointer;
				display: flex;
				align-items: center;
				justify-content: center;
				transition: all 0.3s ease;
				box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
				line-height: 1;
				padding: 0;
			}


			.help-yes-btn, .help-no-btn {
				padding: 15px 25px;
				border: none;
				border-radius: 12px;
				font-size: 1em;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				line-height: 1;
				gap: 8px;
				box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
			}

			.help-question {
				font-weight: bold;
				color: #e74c3c !important;
				font-size: 1.3em !important;
				margin-top: 25px !important;
			}
			
			.feature-icon {
				font-size: 1.5em;
			}

			.help-feature span:last-child {
				font-size: 0.9em;
				color: #5a6c7d;
				font-weight: 500;
			}

			.help-popup-header h3 {
				margin: 0 0 25px 0;
				color: #2c3e50;
				font-size: 1.4em;
				font-weight: bold;
			}

			.help-popup-body p {
				margin: 15px 0;
				color: #5a6c7d;
				line-height: 1.6;
				font-size: 1.05em;
			}

			.help-popup-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: linear-gradient(135deg, #fff 0%, #f8f9ff 100%);
				border-radius: 20px;
				padding: 35px;
				max-width: 450px;
				width: 90%;
				text-align: center;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
				border: 2px solid rgba(255, 182, 193, 0.3);
			}

			.help-icon {
				font-size: 3em;
				margin-bottom: 15px;
				display: block;
				animation: bounce 2s infinite;
			}

			/* Upgrade Popup */
			.upgrade-popup {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0, 0, 0, 0.8);
				z-index: 10001;
				display: none;
			}

			.upgrade-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: white;
				border-radius: 15px;
				max-width: 600px;
				width: 90%;
				max-height: 90%;
				overflow-y: hidden;
				box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
			}

			.upgrade-header {
				display: flex;
				justify-content: space-between;
				align-items: center;
				padding: 25px;
				border-bottom: 2px solid #f0f0f0;
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				border-radius: 15px 15px 0 0;
				color: white;
			}

			.upgrade-header h3 {
				margin: 0;
				color: white;
				font-size: 1.8em;
			}

			.upgrade-close {
				background: none;
				border: none;
				font-size: 2.5em;
				color: white;
				cursor: pointer;
				padding: 0;
				width: 40px;
				height: 40px;
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 50%;
				transition: background-color 0.3s;
			}

			.upgrade-close:hover {
				background-color: rgba(255, 255, 255, 0.2);
			}

			.upgrade-body {
				padding: 20px;
			}

			.upgrade-info {
				display: flex;
				align-items: center;
				justify-content: space-between;
				margin-bottom: 0px;
				padding: 20px;
				background: #f8f9fa;
				border-radius: 12px;
			}

			.upgrade-comparison {
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 20px;
				margin-bottom: 10px;
			}

			.current-grade, .target-grade {
				text-align: center;
				flex: 1;
			}

			.current-grade h4, .target-grade h4 {
				font-family: "Notosans", sans-serif;
				font-size: 1.2em !important;
				font-weight: bold !important;
				color: #333 !important;
				margin-bottom: 15px !important;
			}

			.grade-display {
				display: flex;
				flex-direction: column;
				align-items: center;
				margin-bottom: 10px;
			}

			.grade-icon {
				width: 70px;
				height: 70px;
			}

			.grade-display span {
				font-size: 1.1em;
				font-weight: bold;
				color: #333;
			}

			.remaining-period {
				font-size: 0.9em;
				color: #666;
				background: #e9ecef;
				padding: 8px 12px;
				border-radius: 20px;
				display: inline-block;
			}

			.upgrade-arrow {
				font-size: 2em;
				color: #667eea;
				margin: 0 20px;
			}	
	
						
			/* 다운그레이드 경고 팝업 스타일 */
			.downgrade-warning-popup {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: rgba(0, 0, 0, 0.7);
				z-index: 10000;
				display: flex;
				align-items: center;
				justify-content: center;
				animation: fadeIn 0.3s ease;
			}

			.downgrade-warning-content {
				background: white;
				border-radius: 15px;
				max-width: 500px;
				width: 90%;
				box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
				animation: slideInUp 0.3s ease;
			}

			.downgrade-warning-header {
				background: linear-gradient(135deg, #ff6b6b, #ff8e8e);
				color: white;
				padding: 20px;
				border-radius: 15px 15px 0 0;
				display: flex;
				align-items: center;
				justify-content: space-between;
				position: relative;
			}

			.downgrade-warning-header h3 {
				margin: 0;
				font-size: 23px;
				font-weight: bold;
				display: flex;
				align-items: center;
				gap: 10px;
			}

			.downgrade-warning-close {
				background: none;
				border: none;
				color: white;
				font-size: 34px;
				cursor: pointer;
				padding: 0;
				width: 50px;
				height: 50px;
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 50%;
				transition: background 0.3s ease;
			}

			.downgrade-warning-close:hover {
				background: rgba(255, 255, 255, 0.2);
			}

			.downgrade-warning-body {
				padding: 25px;
			}

			.warning-message {
				text-align: center;
				margin-bottom: 25px;
			}

			.warning-message p {
				margin: 8px 0;
				font-size: 19px;
				line-height: 1.5;
			}

			.current-grade-info {
				background: #f8f9fa;
				border-radius: 10px;
				padding: 20px;
				margin-bottom: 20px;
				text-align: center;
			}

			.current-grade-info .grade-display {
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 15px;
			}

			.current-grade-info .grade-icon {
				width: 60px;
				height: 60px;
			}

			.current-grade-info span {
				font-size: 22px;
				font-weight: bold;
				color: #333;
			}

			.warning-notice {
				background: #e3f2fd;
				border-left: 4px solid #2196f3;
				padding: 15px;
				border-radius: 8px;
				margin-bottom: 20px;
			}

			.warning-notice p {
				margin: 5px 0;
				font-size: 15px;
				color: #1565c0;
				display: flex;
				align-items: center;
				gap: 8px;
			}

			.downgrade-warning-buttons {
				text-align: center;
				display: flex;
				justify-content: center;
				align-items: center;
			}

			.downgrade-warning-ok-btn {
				background: linear-gradient(45deg, #ff6b6b, #ff8e8e);
				color: white;
				border: none;
				padding: 12px 30px;
				margin-bottom: 20px;
				border-radius: 8px;
				font-size: 19px;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				line-height: 1;
			}

			.downgrade-warning-ok-btn:hover {
				background: linear-gradient(45deg, #ff5252, #ff7979);
				transform: translateY(-2px);
				box-shadow: 0 6px 16px rgba(255, 107, 107, 0.4);
			}

			.downgrade-warning-ok-btn:active {
				transform: translateY(0);
				box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
			}


			.upgrade-to-next-btn {
				width: 100%;
				padding: 15px 20px;
				background: linear-gradient(45deg, #ffd700, #ffed4e);
				color: #b8860b;
				border: 2px solid #ffd700;
				border-radius: 10px;
				font-size: 16px;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 4px 12px rgba(255, 215, 0, 0.4);
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 10px;
			}

			.recommendation-benefits p {
				margin: 8px 0;
				padding: 8px 15px;
				background: rgba(40, 167, 69, 0.1);
				border-radius: 8px;
				font-size: 14px;
				color: #155724;
				display: flex;
				align-items: center;
				gap: 10px;
			}

			.grade-price {
				font-size: 16px;
				color: #28a745;
				font-weight: bold;
			}

			.grade-differences {
				margin-bottom: 20px;
			}

			.grade-differences h5 {
				color: #b8860b;
				font-size: 16px;
				margin-bottom: 10px;
				text-align: center;
			}

			.grade-differences ul {
				list-style: none;
				padding: 0;
				margin: 0;
			}

			.grade-differences li {
				padding: 8px 15px;
				margin: 5px 0;
				background: rgba(255, 255, 255, 0.9);
				border-radius: 8px;
				border-left: 4px solid #ffd700;
				font-size: 14px;
				color: #333;
				box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
			}

			.recommended-grade .grade-icon {
				width: 40px;
				height: 40px;
			}

			.recommendation-header h4 {
				color: #b8860b;
				font-weight: bold;
				font-size: 18px;
				margin: 0;
				display: flex;
				align-items: center;
				justify-content: center;
			}

			.popup-grade-icon {
				width: 40px;
				height: 40px;
				object-fit: contain;
				filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
			}
			
			.popup-grade-name {
				font-size: 1.2em;
				font-weight: 700;
				color: #ffffff;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
			}
			
			
			
			.service-detail-close {
				position: absolute;
				top: 15px;
				right: 20px;
				background: none;
				border: none;
				color: white;
				font-size: 43px;
				cursor: pointer;
				padding: 0;
				width: 40px;
				height: 40px;
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 50%;
				transition: background-color 0.2s ease;
			}

			.detail-section p {
				margin: 30px 0;
				padding: 10px;
				line-height: 1.6;
				color: #333;
				font-size: 1.1em;
			}

			.detail-section h4 {
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				color: white;
				padding: 15px 20px;
				border-radius: 10px;
				font-size: 1.2em;
				font-weight: 600;
				text-align: center;
				margin: 20px 0;
				box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
				position: relative;
				overflow: hidden;
				letter-spacing: 0.5px;
			}

			.popup-service-title {
				font-size: 1.1em;
				font-weight: 500;
				color: #ffffff;
				opacity: 0.9;
			}

			/* ?쒕퉬???곸꽭 ?낅Т ?ㅽ???*/
			.service-detail-popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0, 0, 0, 0.7);
				z-index: 10000;
				backdrop-filter: blur(5px);
			}

			.service-detail-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: white;
				border-radius: 15px;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
				max-width: 550px;
				width: 90%;
				max-height: 90vh;
				overflow: hidden;
				animation: popupSlideIn 0.3s ease-out;
			}

			@keyframes popupSlideIn {
				from {
					opacity: 0;
					transform: translate(-50%, -50%) scale(0.8);
				}
				to {
					opacity: 1;
					transform: translate(-50%, -50%) scale(1);
				}
			}

			.service-detail-header {
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				color: white;
				padding: 20px 25px;
				position: relative;
			}

			.service-detail-header h3 {
				margin: 0;
				font-size: 1.4em;
				font-weight: 600;
				line-height: 1.3;
			}
			


			.grade-text {
				font-weight: bold !important;
				font-size: 0.95rem !important;
			}

			.grade-note {
				font-size: 0.85rem !important;
				color:rgb(131, 137, 143) !important;
			}

			#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;
			}

			/* 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: auto; /* 팝업 내용의 스크롤 허용 */
			}

			.popup-content2 {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* ?곷떒 ?⑤뵫?쇰줈 ?リ린 踰꾪듉 ?곸뿭 ?뺣낫 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 80vh;
				overflow-y: auto; /* ?占쎌껜 而⑦뀗痢좎쓽 ?占쏀겕濡ㅿ옙? ?占쎌쓬 */
			}


			.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 초기화 */
			}
			
			/* 우측 메뉴 스타일 */
			.lv-title-right {
				color: #ff6b6b;
				font-size: 1.0em;
				font-weight: 700;
				font-family: 'Noto Sans KR', sans-serif;
				padding: 8px 16px;
				border-radius: 20px;
				border: 2px solid #ff6b6b;
				background: linear-gradient(135deg, #ff6b6b, #ff8e53);
				color: white;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
				transition: all 0.3s ease;
			}

			.lv-title-right:hover {
				transform: translateY(-2px);
				box-shadow: 0 6px 20px rgba(255, 107, 107, 0.5);
				background: linear-gradient(135deg, #ff8e53, #ff6b6b);
			}

			.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;
			}	



			/* 이벤트 팝업 스타일 */
			.event-popup {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: rgba(0, 0, 0, 0.8);
				display: flex;
				justify-content: center;
				align-items: center;
				z-index: 10000;
				animation: fadeIn 0.5s ease-out;
			}
			
			.event-content {
				background: rgba(255, 255, 255, 0.95);
				border-radius: 24px;
				padding: 0;
				max-width: 450px;
				width: 90%;
				min-height: 600px;
				overflow: hidden;
				box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
				position: relative;
				animation: slideInUp 0.6s ease-out;
				border: 1px solid rgba(0, 0, 0, 0.08);
				backdrop-filter: blur(20px);
			}

			.event-header {
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				padding: 25px 20px;
				text-align: center;
				border-radius: 24px 24px 0 0;
				position: relative;
				overflow: hidden;
				border-bottom: none;
			}

			.event-header::before {
				content: '';
				position: absolute;
				top: -50%;
				left: -50%;
				width: 200%;
				height: 200%;
				background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
				animation: shimmer 3s infinite;
			}

			.event-icon {
				font-size: 2.2rem;
				color: #FFD700;
				margin-bottom: 10px;
				animation: bounce 2s infinite;
				text-shadow: 0 2px 8px rgba(255, 215, 0, 0.4);
				filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.3));
			}

			.event-header h2 {
				color: #fff;
				font-size: 1.6rem;
				font-weight: 500;
				margin: 0;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				letter-spacing: 0.5px;
			}

			.event-close {
				position: absolute;
				top: 12px;
				right: 15px;
				background: rgba(255, 255, 255, 0.15);
				border: 1px solid rgba(255, 255, 255, 0.2);
				color: #fff;
				font-size: 1.2rem;
				width: 32px;
				height: 32px;
				border-radius: 16px;
				cursor: pointer;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				font-weight: bold;
				line-height: 1;
				box-sizing: border-box;
			}

			.event-close:hover {
				background: rgba(255, 255, 255, 0.25);
				transform: scale(1.1);
				border-color: rgba(255, 255, 255, 0.3);
			}

			.event-body {
				padding: 20px 25px 15px 25px;
				background: rgba(255, 255, 255, 0.95);
			}

			.event-title {
				text-align: center;
				margin-bottom: 20px;
			}

			.event-title h3 {
				color: #666;
				font-size: 1rem;
				margin: 0 0 8px 0;
				font-weight: 500;
				letter-spacing: 0.3px;
			}

			.event-title h1 {
				color: #333;
				font-size: 1.8rem;
				margin: 0;
				font-weight: 800;
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				-webkit-background-clip: text;
				-webkit-text-fill-color: transparent;
				background-clip: text;
				letter-spacing: 0.5px;
			}

			.event-description {
				text-align: center;
				margin-bottom: 20px;
			}

			.event-description p {
				color: #555;
				font-size: 1.0rem;
				line-height: 1.5;
				margin: 8px 0;
				font-weight: 400;
			}

			.event-description strong {
				color: #667eea;
				font-weight: 700;
			}

			.event-benefits {
				margin-bottom: 20px;
			}	
									
			.benefit-item {
				display: flex;
				align-items: center;
				margin-bottom: 10px;
				padding: 12px 15px;
				background: linear-gradient(135deg, #ffffff 0%, #f8f9ff 100%);
				border-radius: 8px;
				border-left: 3px solid #667eea;
				transition: all 0.3s ease;
				box-shadow: 0 2px 8px rgba(102, 126, 234, 0.1);
			}

			.benefit-item:hover {
				transform: translateX(5px);
				box-shadow: 0 5px 15px rgba(102, 126, 234, 0.2);
			}

			.benefit-item i {
				color: #667eea;
				font-size: 1rem;
				margin-right: 12px;
				animation: pulse 2s infinite;
			}

			.benefit-item span {
				color: #333;
				font-size: 1.1rem;
				font-weight: 500;
				letter-spacing: 0.2px;
			}

			.event-timer {
				text-align: center;
				padding: 15px;
				background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
				border-radius: 12px;
				margin-bottom: 20px;
				box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
				border: 1px solid rgba(0, 0, 0, 0.05);
			}

			.event-timer p {
				color: #495057;
				font-size: 1.2rem;
				font-weight: 600;
				margin: 0;
				animation: blink 1.5s infinite;
			}

			.event-timer p i {
				text-shadow: 0 0 8px rgba(255, 215, 0, 0.6);
				filter: drop-shadow(0 0 4px rgba(255, 215, 0, 0.4));
			}

			.event-buttons {
				display: flex;
				flex-direction: column;
				gap: 12px;
				padding: 0 20px 20px 20px;
				background: white;
			}

			.event-confirm-btn {
				background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
				color: #333;
				border: none;
				padding: 18px 25px;
				border-radius: 15px;
				font-size: 1.3rem;
				font-weight: 800;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 8px 25px rgba(255, 215, 0, 0.4);
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 10px;
				position: relative;
				overflow: hidden;
				letter-spacing: 0.5px;
				text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
				border: 2px solid rgba(255, 255, 255, 0.2);
			}

			.event-confirm-btn::before {
				content: '';
				position: absolute;
				top: 0;
				left: -100%;
				width: 100%;
				height: 100%;
				background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
				transition: left 0.5s;
			}

			.event-confirm-btn:hover::before {
				left: 100%;
			}

			.event-confirm-btn:hover {
				transform: translateY(-3px);
				box-shadow: 0 12px 35px rgba(255, 215, 0, 0.5);
				background: linear-gradient(135deg, #FFE55C 0%, #FFB347 100%);
			}

			.event-confirm-btn:active {
				transform: translateY(-1px);
			}

			.event-cancel-btn {
				background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
				color: white;
				border: none;
				padding: 10px 25px;
				border-radius: 15px;
				font-size: 0.95rem;
				font-weight: 600;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 6px 20px rgba(108, 117, 125, 0.3);
				letter-spacing: 0.3px;
				border: 2px solid rgba(255, 255, 255, 0.1);
				display: flex;
				align-items: center;
				justify-content: center;
			}

			.event-cancel-btn:hover {
				transform: translateY(-2px);
				box-shadow: 0 8px 25px rgba(108, 117, 125, 0.4);
				background: linear-gradient(135deg, #7a8288 0%, #5a6268 100%);
			}

			.event-cancel-btn:active {
				transform: translateY(-1px);
			}
		}


		/* 2媛쒖뵫 ?占쎈젹 */
		@media screen and (max-width: 1370px) and (min-width: 981px) {
			
			.calculation-item {
				display: flex;
				justify-content: space-between;
				align-items: center;
				padding: 12px 0;
				border-bottom: 1px solid #e9ecef;
				font-size: 1.1em;
			}

			.calculation-item:last-child {
				border-bottom: none;
			}

			.calculation-item.total {
				font-weight: bold;
				font-size: 1.0em;
				color: #667eea;
				background: #e3f2fd;
				padding: 15px;
				border-radius: 8px;
				margin-top: 10px;
			}
			

			.recommendation-popup-header .close-question-btn {
				position: absolute;
				top: 10px;
				right: 10px;
				width: 50px;
				height: 50px;
				border: none;
				border-radius: 50%;
				background: #ffffff;
				color: rgba(255, 107, 107, 0.4) !important;
				font-size: 33px;
				font-weight: bold;
				cursor: pointer;
				display: flex;
				align-items: center;
				justify-content: center;
				transition: all 0.3s ease;
				box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
				line-height: 1;
				padding: 0;
			}
			
			.recommendation-popup-buttons {
				display: flex;
				gap: 15px;
				justify-content: center;
			}

			.select-recommended-btn, .retake-survey-btn {
				padding: 15px 25px;
				border: none;
				border-radius: 12px;
				font-size: 1em;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				line-height: 1;
				gap: 8px;
				box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
			}


			.reason-line {
				font-size: 0.9em;
				color: #5a6c7d;
				line-height: 1.4;
				padding-left: 5px;
			}
			

			.recommendation-popup-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: linear-gradient(135deg, #fff 0%, #f0f8ff 100%);
				border-radius: 20px;
				padding: 35px;
				max-width: 550px;
				width: 90%;
				text-align: center;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
				border: 2px solid rgba(135, 206, 235, 0.3);
			}

			.recommendation-icon {
				font-size: 2.5em;
				margin-bottom: 15px;
				display: block;
				animation: pulse 2s infinite;
			}

			.recommendation-popup-header h3 {
				margin: 0 0 20px 0;
				color: #2c3e50;
				font-size: 1.3em;
				font-weight: bold;
			}

			.recommendation-popup-body h4 {
				margin: 0 0 25px 0;
				color: #2c3e50;
				font-size: 1.2em;
				line-height: 1.5;
			}

			.recommended-grade-display {
				display: flex;
				align-items: center;
				gap: 20px;
				margin-bottom: 25px;
				padding: 20px;
				background: rgba(135, 206, 235, 0.1);
				border-radius: 15px;
				border: 1px solid rgba(135, 206, 235, 0.2);
			}

			.recommended-grade-icon {
				width: 60px;
				height: 60px;
				object-fit: contain;
				filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
			}

			.recommended-grade-info {
				flex: 1;
				text-align: left;
			}

			.recommended-grade-info p {
				margin: 0 0 15px 0;
				color: #5a6c7d;
				font-size: 0.95em;
			}

			.recommendation-reasons {
				margin-top: 15px;
			}

			.recommendation-reasons h5 {
				margin: 0 0 10px 0;
				color: #2c3e50;
				font-size: 1em;
				font-weight: bold;
			}

			
			.progress-bar {
				width: 100%;
				height: 10px;
				background: rgba(135, 206, 235, 0.2);
				border-radius: 5px;
				overflow: hidden;
				margin-bottom: 25px;
			}

			.question-popup-body h4 {
				margin: 0 0 30px 0;
				color: #2c3e50;
				font-size: 1.2em;
				line-height: 1.5;
			}

			.question-options {
				display: flex;
				flex-direction: column;
				gap: 15px;
			}

			.question-option {
				padding: 18px 25px;
				border: 2px solid rgba(135, 206, 235, 0.3);
				border-radius: 15px;
				background: white;
				color: #2c3e50;
				font-size: 1em;
				cursor: pointer;
				transition: all 0.3s ease;
				text-align: left;
				display: flex;
				align-items: center;
				line-height: 1.2;
				gap: 15px;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
			}
			
			.question-popup-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: linear-gradient(135deg, #fff 0%, #f0f8ff 100%);
				border-radius: 20px;
				padding: 35px;
				max-width: 550px;
				width: 90%;
				text-align: center;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
				border: 2px solid rgba(135, 206, 235, 0.3);
			}

			.question-icon {
				font-size: 2.5em;
				margin-bottom: 15px;
				display: block;
				animation: pulse 2s infinite;
			}


			.question-popup-header {
				position: relative;
			}

			.question-popup-header h3 {
				margin: 0 0 20px 0;
				color: #2c3e50;
				font-size: 1.3em;
				font-weight: bold;
			}

			.close-question-btn {
				position: absolute;
				top: -10px;
				right: -10px;
				width: 50px;
				height: 50px;
				border: none;
				border-radius: 50%;
				background: #ffffff;
				color: rgba(255, 107, 107, 0.4) !important;
				font-size: 33px;
				font-weight: bold;
				cursor: pointer;
				display: flex;
				align-items: center;
				justify-content: center;
				transition: all 0.3s ease;
				box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
				line-height: 1;
				padding: 0;
			}


			.help-yes-btn, .help-no-btn {
				padding: 15px 25px;
				border: none;
				border-radius: 12px;
				font-size: 1em;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				line-height: 1;
				gap: 8px;
				box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
			}

			.help-question {
				font-weight: bold;
				color: #e74c3c !important;
				font-size: 1.3em !important;
				margin-top: 25px !important;
			}
			
			.feature-icon {
				font-size: 1.5em;
			}

			.help-feature span:last-child {
				font-size: 0.9em;
				color: #5a6c7d;
				font-weight: 500;
			}

			.help-popup-header h3 {
				margin: 0 0 25px 0;
				color: #2c3e50;
				font-size: 1.4em;
				font-weight: bold;
			}

			.help-popup-body p {
				margin: 15px 0;
				color: #5a6c7d;
				line-height: 1.6;
				font-size: 1.05em;
			}

			.help-popup-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: linear-gradient(135deg, #fff 0%, #f8f9ff 100%);
				border-radius: 20px;
				padding: 35px;
				max-width: 450px;
				width: 90%;
				text-align: center;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
				border: 2px solid rgba(255, 182, 193, 0.3);
			}

			.help-icon {
				font-size: 3em;
				margin-bottom: 15px;
				display: block;
				animation: bounce 2s infinite;
			}


			/* Upgrade Popup */
			.upgrade-popup {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0, 0, 0, 0.8);
				z-index: 10001;
				display: none;
			}

			.upgrade-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: white;
				border-radius: 15px;
				max-width: 600px;
				width: 90%;
				max-height: 90%;
				overflow-y: hidden;
				box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
			}

			.upgrade-header {
				display: flex;
				justify-content: space-between;
				align-items: center;
				padding: 25px;
				border-bottom: 2px solid #f0f0f0;
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				border-radius: 15px 15px 0 0;
				color: white;
			}

			.upgrade-header h3 {
				margin: 0;
				color: white;
				font-size: 1.8em;
			}

			.upgrade-close {
				background: none;
				border: none;
				font-size: 2.5em;
				color: white;
				cursor: pointer;
				padding: 0;
				width: 40px;
				height: 40px;
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 50%;
				transition: background-color 0.3s;
			}

			.upgrade-close:hover {
				background-color: rgba(255, 255, 255, 0.2);
			}

			.upgrade-body {
				padding: 20px;
			}

			.upgrade-info {
				display: flex;
				align-items: center;
				justify-content: space-between;
				margin-bottom: 0px;
				padding: 20px;
				background: #f8f9fa;
				border-radius: 12px;
			}

			.upgrade-comparison {
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 20px;
				margin-bottom: 10px;
			}

			.current-grade, .target-grade {
				text-align: center;
				flex: 1;
			}

			.current-grade h4, .target-grade h4 {
				font-family: "Notosans", sans-serif;
				font-size: 1.2em !important;
				font-weight: bold !important;
				color: #333 !important;
				margin-bottom: 15px !important;
			}

			.grade-display {
				display: flex;
				flex-direction: column;
				align-items: center;
				margin-bottom: 10px;
			}

			.grade-icon {
				width: 70px;
				height: 70px;
			}

			.grade-display span {
				font-size: 1.1em;
				font-weight: bold;
				color: #333;
			}

			.remaining-period {
				font-size: 0.9em;
				color: #666;
				background: #e9ecef;
				padding: 8px 12px;
				border-radius: 20px;
				display: inline-block;
			}

			.upgrade-arrow {
				font-size: 2em;
				color: #667eea;
				margin: 0 20px;
			}

						
			/* 다운그레이드 경고 팝업 스타일 */
			.downgrade-warning-popup {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: rgba(0, 0, 0, 0.7);
				z-index: 10000;
				display: flex;
				align-items: center;
				justify-content: center;
				animation: fadeIn 0.3s ease;
			}

			.downgrade-warning-content {
				background: white;
				border-radius: 15px;
				max-width: 500px;
				width: 90%;
				box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
				animation: slideInUp 0.3s ease;
			}

			.downgrade-warning-header {
				background: linear-gradient(135deg, #ff6b6b, #ff8e8e);
				color: white;
				padding: 20px;
				border-radius: 15px 15px 0 0;
				display: flex;
				align-items: center;
				justify-content: space-between;
				position: relative;
			}

			.downgrade-warning-header h3 {
				margin: 0;
				font-size: 23px;
				font-weight: bold;
				display: flex;
				align-items: center;
				gap: 10px;
			}

			.downgrade-warning-close {
				background: none;
				border: none;
				color: white;
				font-size: 34px;
				cursor: pointer;
				padding: 0;
				width: 50px;
				height: 50px;
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 50%;
				transition: background 0.3s ease;
			}

			.downgrade-warning-close:hover {
				background: rgba(255, 255, 255, 0.2);
			}

			.downgrade-warning-body {
				padding: 25px;
			}

			.warning-message {
				text-align: center;
				margin-bottom: 25px;
			}

			.warning-message p {
				margin: 8px 0;
				font-size: 19px;
				line-height: 1.5;
			}

			.current-grade-info {
				background: #f8f9fa;
				border-radius: 10px;
				padding: 20px;
				margin-bottom: 20px;
				text-align: center;
			}

			.current-grade-info .grade-display {
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 15px;
			}

			.current-grade-info .grade-icon {
				width: 60px;
				height: 60px;
			}

			.current-grade-info span {
				font-size: 22px;
				font-weight: bold;
				color: #333;
			}

			.warning-notice {
				background: #e3f2fd;
				border-left: 4px solid #2196f3;
				padding: 15px;
				border-radius: 8px;
				margin-bottom: 20px;
			}

			.warning-notice p {
				margin: 5px 0;
				font-size: 15px;
				color: #1565c0;
				display: flex;
				align-items: center;
				gap: 8px;
			}

			.downgrade-warning-buttons {
				text-align: center;
				display: flex;
				justify-content: center;
				align-items: center;
			}

			.downgrade-warning-ok-btn {
				background: linear-gradient(45deg, #ff6b6b, #ff8e8e);
				color: white;
				border: none;
				padding: 12px 30px;
				margin-bottom: 20px;
				border-radius: 8px;
				font-size: 19px;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				line-height: 1;
			}

			.downgrade-warning-ok-btn:hover {
				background: linear-gradient(45deg, #ff5252, #ff7979);
				transform: translateY(-2px);
				box-shadow: 0 6px 16px rgba(255, 107, 107, 0.4);
			}

			.downgrade-warning-ok-btn:active {
				transform: translateY(0);
				box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
			}


			.upgrade-to-next-btn {
				width: 100%;
				padding: 15px 20px;
				background: linear-gradient(45deg, #ffd700, #ffed4e);
				color: #b8860b;
				border: 2px solid #ffd700;
				border-radius: 10px;
				font-size: 16px;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 4px 12px rgba(255, 215, 0, 0.4);
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 10px;
			}

			.recommendation-benefits p {
				margin: 8px 0;
				padding: 8px 15px;
				background: rgba(40, 167, 69, 0.1);
				border-radius: 8px;
				font-size: 14px;
				color: #155724;
				display: flex;
				align-items: center;
				gap: 10px;
			}

			.grade-price {
				font-size: 16px;
				color: #28a745;
				font-weight: bold;
			}

			.grade-differences {
				margin-bottom: 20px;
			}

			.grade-differences h5 {
				color: #b8860b;
				font-size: 16px;
				margin-bottom: 10px;
				text-align: center;
			}

			.grade-differences ul {
				list-style: none;
				padding: 0;
				margin: 0;
			}

			.grade-differences li {
				padding: 8px 15px;
				margin: 5px 0;
				background: rgba(255, 255, 255, 0.9);
				border-radius: 8px;
				border-left: 4px solid #ffd700;
				font-size: 14px;
				color: #333;
				box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
			}

			.recommended-grade .grade-icon {
				width: 40px;
				height: 40px;
			}

			.recommendation-header h4 {
				color: #b8860b;
				font-weight: bold;
				font-size: 18px;
				margin: 0;
				display: flex;
				align-items: center;
				justify-content: center;
			}

			.popup-grade-icon {
				width: 40px;
				height: 40px;
				object-fit: contain;
				filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
			}
			
			.popup-grade-name {
				font-size: 1.2em;
				font-weight: 700;
				color: #ffffff;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
			}
			
			
			
			.service-detail-close {
				position: absolute;
				top: 15px;
				right: 20px;
				background: none;
				border: none;
				color: white;
				font-size: 43px;
				cursor: pointer;
				padding: 0;
				width: 40px;
				height: 40px;
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 50%;
				transition: background-color 0.2s ease;
			}

			.detail-section p {
				margin: 30px 0;
				padding: 10px;
				line-height: 1.6;
				color: #333;
				font-size: 1.1em;
			}

			.detail-section h4 {
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				color: white;
				padding: 15px 20px;
				border-radius: 10px;
				font-size: 1.2em;
				font-weight: 600;
				text-align: center;
				margin: 20px 0;
				box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
				position: relative;
				overflow: hidden;
				letter-spacing: 0.5px;
			}

			.popup-service-title {
				font-size: 1.1em;
				font-weight: 500;
				color: #ffffff;
				opacity: 0.9;
			}

			/* ?쒕퉬???곸꽭 ?낅Т ?ㅽ???*/
			.service-detail-popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0, 0, 0, 0.7);
				z-index: 10000;
				backdrop-filter: blur(5px);
			}

			.service-detail-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: white;
				border-radius: 15px;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
				max-width: 550px;
				width: 90%;
				max-height: 90vh;
				overflow: hidden;
				animation: popupSlideIn 0.3s ease-out;
			}

			@keyframes popupSlideIn {
				from {
					opacity: 0;
					transform: translate(-50%, -50%) scale(0.8);
				}
				to {
					opacity: 1;
					transform: translate(-50%, -50%) scale(1);
				}
			}

			.service-detail-header {
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				color: white;
				padding: 20px 25px;
				position: relative;
			}

			.service-detail-header h3 {
				margin: 0;
				font-size: 1.4em;
				font-weight: 600;
				line-height: 1.3;
			}


			.grade-text {
				font-weight: bold !important;
				font-size: 0.95rem !important;
			}

			.grade-note {
				font-size: 0.85rem !important;
				color:rgb(131, 137, 143) !important;
			}

			#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;
			}

			/* 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: auto; /* 팝업 내용의 스크롤 허용 */
			}

			.popup-content2 {
				position: relative;
				background-color: #fefefe;
				margin: 100px auto;
				padding: 70px 20px 20px 20px; /* ?곷떒 ?⑤뵫?쇰줈 ?リ린 踰꾪듉 ?곸뿭 ?뺣낫 */
				width: 80%;
				max-width: 700px;
				border-radius: 10px;
				max-height: 80vh;
				overflow-y: auto; /* ?占쎌껜 而⑦뀗痢좎쓽 ?占쏀겕濡ㅿ옙? ?占쎌쓬 */
			}


			.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 초기화 */
			}
			
			/* 우측 메뉴 스타일 */
			.lv-title-right {
				color: #ff6b6b;
				font-size: 1.0em;
				font-weight: 700;
				font-family: 'Noto Sans KR', sans-serif;
				padding: 8px 16px;
				border-radius: 20px;
				border: 2px solid #ff6b6b;
				background: linear-gradient(135deg, #ff6b6b, #ff8e53);
				color: white;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
				transition: all 0.3s ease;
			}

			.lv-title-right:hover {
				transform: translateY(-2px);
				box-shadow: 0 6px 20px rgba(255, 107, 107, 0.5);
				background: linear-gradient(135deg, #ff8e53, #ff6b6b);
			}
			
			.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;
			}	



			/* 이벤트 팝업 스타일 */
			.event-popup {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: rgba(0, 0, 0, 0.8);
				display: flex;
				justify-content: center;
				align-items: center;
				z-index: 10000;
				animation: fadeIn 0.5s ease-out;
			}
			
			.event-content {
				background: rgba(255, 255, 255, 0.95);
				border-radius: 24px;
				padding: 0;
				max-width: 450px;
				width: 90%;
				min-height: 600px;
				overflow: hidden;
				box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
				position: relative;
				animation: slideInUp 0.6s ease-out;
				border: 1px solid rgba(0, 0, 0, 0.08);
				backdrop-filter: blur(20px);
			}

			.event-header {
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				padding: 25px 20px;
				text-align: center;
				border-radius: 24px 24px 0 0;
				position: relative;
				overflow: hidden;
				border-bottom: none;
			}

			.event-header::before {
				content: '';
				position: absolute;
				top: -50%;
				left: -50%;
				width: 200%;
				height: 200%;
				background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
				animation: shimmer 3s infinite;
			}

			.event-icon {
				font-size: 2.2rem;
				color: #FFD700;
				margin-bottom: 10px;
				animation: bounce 2s infinite;
				text-shadow: 0 2px 8px rgba(255, 215, 0, 0.4);
				filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.3));
			}

			.event-header h2 {
				color: #fff;
				font-size: 1.6rem;
				font-weight: 500;
				margin: 0;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				letter-spacing: 0.5px;
			}

			.event-close {
				position: absolute;
				top: 12px;
				right: 15px;
				background: rgba(255, 255, 255, 0.15);
				border: 1px solid rgba(255, 255, 255, 0.2);
				color: #fff;
				font-size: 1.2rem;
				width: 32px;
				height: 32px;
				border-radius: 16px;
				cursor: pointer;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				font-weight: bold;
				line-height: 1;
				box-sizing: border-box;
			}

			.event-close:hover {
				background: rgba(255, 255, 255, 0.25);
				transform: scale(1.1);
				border-color: rgba(255, 255, 255, 0.3);
			}

			.event-body {
				padding: 20px 25px 15px 25px;
				background: rgba(255, 255, 255, 0.95);
			}

			.event-title {
				text-align: center;
				margin-bottom: 20px;
			}

			.event-title h3 {
				color: #666;
				font-size: 1rem;
				margin: 0 0 8px 0;
				font-weight: 500;
				letter-spacing: 0.3px;
			}

			.event-title h1 {
				color: #333;
				font-size: 1.8rem;
				margin: 0;
				font-weight: 800;
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				-webkit-background-clip: text;
				-webkit-text-fill-color: transparent;
				background-clip: text;
				letter-spacing: 0.5px;
			}

			.event-description {
				text-align: center;
				margin-bottom: 20px;
			}

			.event-description p {
				color: #555;
				font-size: 1.0rem;
				line-height: 1.5;
				margin: 8px 0;
				font-weight: 400;
			}

			.event-description strong {
				color: #667eea;
				font-weight: 700;
			}

			.event-benefits {
				margin-bottom: 20px;
			}
									
			.benefit-item {
				display: flex;
				align-items: center;
				margin-bottom: 10px;
				padding: 12px 15px;
				background: linear-gradient(135deg, #ffffff 0%, #f8f9ff 100%);
				border-radius: 8px;
				border-left: 3px solid #667eea;
				transition: all 0.3s ease;
				box-shadow: 0 2px 8px rgba(102, 126, 234, 0.1);
			}

			.benefit-item:hover {
				transform: translateX(5px);
				box-shadow: 0 5px 15px rgba(102, 126, 234, 0.2);
			}

			.benefit-item i {
				color: #667eea;
				font-size: 1rem;
				margin-right: 12px;
				animation: pulse 2s infinite;
			}

			.benefit-item span {
				color: #333;
				font-size: 1.1rem;
				font-weight: 500;
				letter-spacing: 0.2px;
			}

			.event-timer {
				text-align: center;
				padding: 15px;
				background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
				border-radius: 12px;
				margin-bottom: 20px;
				box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
				border: 1px solid rgba(0, 0, 0, 0.05);
			}

			.event-timer p {
				color: #495057;
				font-size: 1.2rem;
				font-weight: 600;
				margin: 0;
				animation: blink 1.5s infinite;
			}

			.event-timer p i {
				text-shadow: 0 0 8px rgba(255, 215, 0, 0.6);
				filter: drop-shadow(0 0 4px rgba(255, 215, 0, 0.4));
			}

			.event-buttons {
				display: flex;
				flex-direction: column;
				gap: 12px;
				padding: 0 20px 20px 20px;
				background: white;
			}

			.event-confirm-btn {
				background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
				color: #333;
				border: none;
				padding: 18px 25px;
				border-radius: 15px;
				font-size: 1.3rem;
				font-weight: 800;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 8px 25px rgba(255, 215, 0, 0.4);
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 10px;
				position: relative;
				overflow: hidden;
				letter-spacing: 0.5px;
				text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
				border: 2px solid rgba(255, 255, 255, 0.2);
			}

			.event-confirm-btn::before {
				content: '';
				position: absolute;
				top: 0;
				left: -100%;
				width: 100%;
				height: 100%;
				background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
				transition: left 0.5s;
			}

			.event-confirm-btn:hover::before {
				left: 100%;
			}

			.event-confirm-btn:hover {
				transform: translateY(-3px);
				box-shadow: 0 12px 35px rgba(255, 215, 0, 0.5);
				background: linear-gradient(135deg, #FFE55C 0%, #FFB347 100%);
			}

			.event-confirm-btn:active {
				transform: translateY(-1px);
			}

			.event-cancel-btn {
				background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
				color: white;
				border: none;
				padding: 10px 25px;
				border-radius: 15px;
				font-size: 0.95rem;
				font-weight: 600;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 6px 20px rgba(108, 117, 125, 0.3);
				letter-spacing: 0.3px;
				border: 2px solid rgba(255, 255, 255, 0.1);
				display: flex;
				align-items: center;
				justify-content: center;
			}

			.event-cancel-btn:hover {
				transform: translateY(-2px);
				box-shadow: 0 8px 25px rgba(108, 117, 125, 0.4);
				background: linear-gradient(135deg, #7a8288 0%, #5a6268 100%);
			}

			.event-cancel-btn:active {
				transform: translateY(-1px);
			}
		}


		/* 모바일 화면 : 리뷰 고정   여기*/
		@media screen and (max-width: 980px) {
			
			.calculation-item {
				display: flex;
				justify-content: space-between;
				align-items: center;
				padding: 12px 0;
				border-bottom: 1px solid #e9ecef;
				font-size: 1.4em;
			}

			.calculation-item:last-child {
				border-bottom: none;
			}

			.calculation-item.total {
				font-weight: bold;
				font-size: 1.4em;
				color: #667eea;
				background: #e3f2fd;
				padding: 15px;
				border-radius: 8px;
				margin-top: 10px;
			}


			.recommendation-popup-header .close-question-btn {
				position: absolute;
				top: 10px;
				right: 10px;
				width: 60px;
				height: 60px;
				border: none;
				border-radius: 50%;
				background: #ffffff;
				color: rgba(255, 107, 107, 0.4) !important;
				font-size: 47px;
				font-weight: bold;
				cursor: pointer;
				display: flex;
				align-items: center;
				justify-content: center;
				transition: all 0.3s ease;
				box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
				line-height: 1;
				padding: 0;
			}

			.recommendation-popup-buttons {
				display: flex;
				gap: 25px;
				justify-content: center;
			}

			.select-recommended-btn, .retake-survey-btn {
				padding: 15px 25px;
				border: none;
				border-radius: 12px;
				font-size: 2em;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				line-height: 1;
				gap: 8px;
				box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
			}

			.reason-line {
				font-size: 1.9em;
				color: #5a6c7d;
				line-height: 1.4;
				padding-left: 5px;
			}
			
			.recommendation-popup-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: linear-gradient(135deg, #fff 0%, #f0f8ff 100%);
				border-radius: 20px;
				padding: 35px;
				max-width: 650px;
				width: 90%;
				text-align: center;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
				border: 2px solid rgba(135, 206, 235, 0.3);
			}

			.recommendation-icon {
				font-size: 3.5em;
				margin-bottom: 15px;
				display: block;
				animation: pulse 2s infinite;
			}

			.recommendation-popup-header h3 {
				margin: 0 0 20px 0;
				color: #2c3e50;
				font-size: 2.3em;
				font-weight: bold;
			}

			.recommendation-popup-body h4 {
				margin: 0 0 25px 0;
				color: #2c3e50;
				font-size: 2.2em;
				line-height: 1.5;
			}

			.recommended-grade-display {
				display: flex;
				align-items: center;
				gap: 20px;
				margin-bottom: 25px;
				padding: 20px;
				background: rgba(135, 206, 235, 0.1);
				border-radius: 15px;
				border: 1px solid rgba(135, 206, 235, 0.2);
			}

			.recommended-grade-icon {
				width: 130px !important;
				height: 130px !important;
				object-fit: contain;
				filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
			}

			.recommended-grade-info {
				flex: 1;
				text-align: left;
			}

			.recommended-grade-info p {
				margin: 0 0 15px 0;
				color: #5a6c7d;
				font-size: 1.95em;
			}

			.recommendation-reasons {
				margin-top: 15px;
			}

			.recommendation-reasons h5 {
				margin: 0 0 10px 0;
				color: #2c3e50;
				font-size: 2em;
				font-weight: bold;
			}

			
			.progress-bar {
				width: 100%;
				height: 20px;
				background: rgba(135, 206, 235, 0.2);
				border-radius: 5px;
				overflow: hidden;
				margin-bottom: 25px;
			}

			.question-popup-body h4 {
				margin: 0 0 30px 0;
				color: #2c3e50;
				font-size: 2.2em;
				line-height: 1.5;
			}

			.question-options {
				display: flex;
				flex-direction: column;
				gap: 25px;
			}

			.question-option {
				padding: 18px 25px;
				border: 2px solid rgba(135, 206, 235, 0.3);
				border-radius: 15px;
				background: white;
				color: #2c3e50;
				font-size: 2.3em;
				cursor: pointer;
				transition: all 0.3s ease;
				text-align: left;
				display: flex;
				align-items: center;
				line-height: 1.2;
				gap: 15px;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
			}
			
			.question-popup-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: linear-gradient(135deg, #fff 0%, #f0f8ff 100%);
				border-radius: 20px;
				padding: 35px;
				max-width: 700px;
				width: 90%;
				text-align: center;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
				border: 2px solid rgba(135, 206, 235, 0.3);
			}

			.question-icon {
				font-size: 3.5em;
				margin-bottom: 15px;
				display: block;
				animation: pulse 2s infinite;
			}


			.question-popup-header {
				position: relative;
			}

			.question-popup-header h3 {
				margin: 0 0 20px 0;
				color: #2c3e50;
				font-size: 2.3em;
				font-weight: bold;
			}

			.close-question-btn {
				position: absolute;
				top: -10px;
				right: -10px;
				width: 60px;
				height: 60px;
				border: none;
				border-radius: 50%;
				background: #ffffff;
				color: rgba(255, 107, 107, 0.4) !important;
				font-size: 47px;
				font-weight: bold;
				cursor: pointer;
				display: flex;
				align-items: center;
				justify-content: center;
				transition: all 0.3s ease;
				box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
				line-height: 1;
				padding: 0;
			}


			.help-yes-btn, .help-no-btn {
				margin-right: 25px;
				padding: 15px 25px;
				border: none;
				border-radius: 12px;
				font-size: 2em;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				line-height: 1;
				gap: 8px;
				box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
			}

			.help-question {
				font-weight: bold;
				color: #e74c3c !important;
				font-size: 2.3em !important;
				margin-top: 25px !important;
			}

			.feature-icon {
				font-size: 2.5em;
			}

			.help-feature span:last-child {
				font-size: 1.7em;
				color: #5a6c7d;
				font-weight: 500;
			}
			
			.help-popup-header h3 {
				margin: 0 0 25px 0;
				color: #2c3e50;
				font-size: 2.4em;
				font-weight: bold;
			}

			.help-popup-body p {
				margin: 15px 0;
				color: #5a6c7d;
				line-height: 1.6;
				font-size: 2.05em;
			}
									
			.help-popup-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: linear-gradient(135deg, #fff 0%, #f8f9ff 100%);
				border-radius: 20px;
				padding: 35px;
				max-width: 700px;
				width: 90%;
				text-align: center;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
				border: 2px solid rgba(255, 182, 193, 0.3);
			}

			.help-icon {
				font-size: 4em;
				margin-bottom: 15px;
				display: block;
				animation: bounce 2s infinite;
			}

			
			/* Upgrade Popup */
			.upgrade-popup {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0, 0, 0, 0.8);
				z-index: 10001;
				display: none;
			}

			.upgrade-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: white;
				border-radius: 15px;
				max-width: 800px;
				width: 750px;
				max-height: 90%;
				overflow-y: hidden;
				box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
			}

			.upgrade-header {
				display: flex;
				justify-content: space-between;
				align-items: center;
				padding: 25px;
				border-bottom: 2px solid #f0f0f0;
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				border-radius: 15px 15px 0 0;
				color: white;
			}

			.upgrade-header h3 {
				margin: 0;
				color: white;
				font-size: 2.0em;
			}

			.upgrade-close {
				background: none;
				border: none;
				font-size: 3.2em;
				color: white;
				cursor: pointer;
				padding: 0;
				width: 50px;
				height: 50px;
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 50%;
				transition: background-color 0.3s;
			}

			.upgrade-close:hover {
				background-color: rgba(255, 255, 255, 0.2);
			}

			.upgrade-body {
				padding: 30px;
			}

			.upgrade-info {
				display: flex;
				align-items: center;
				justify-content: space-between;
				margin-bottom: 30px;
				padding: 10px;
				background: #f8f9fa;
				border-radius: 12px;
			}

			.upgrade-comparison {
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 20px;
				margin-bottom: 30px;
			}

			.current-grade, .target-grade {
				text-align: center;
				flex: 1;
			}


			/* 업그레이드 팝업 내부의 모든 h4 태그에 강제 적용 - 반응형 대응 */
			.upgrade-popup h4,
			#upgradePopup h4,
			.upgrade-popup .current-grade h4,
			.upgrade-popup .target-grade h4,
			#upgradePopup .current-grade h4,
			#upgradePopup .target-grade h4 {
				font-family: "Notosans", sans-serif;
				font-size: 2.0em !important;
				font-weight: bold !important;
				color: #333 !important;
				margin-bottom: 15px !important;
			}

			.grade-display {
				display: flex;
				flex-direction: column;
				align-items: center;
				margin-bottom: 10px;
			}

			.grade-icon {
				width: 70px;
				height: 70px;
			}

			.grade-display span {
				font-size: 1.1em;
				font-weight: bold;
				color: #333;
			}

			.remaining-period {
				font-size: 0.8em;
				color: #666;
				background: #e9ecef;
				padding: 8px 12px;
				border-radius: 20px;
				display: inline-block;
			}

			.upgrade-arrow {
				font-size: 2em;
				color: #667eea;
				margin: 0 20px;
			}


						
			/* 다운그레이드 경고 팝업 스타일 */
			.downgrade-warning-popup {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: rgba(0, 0, 0, 0.7);
				z-index: 10000;
				display: flex;
				align-items: center;
				justify-content: center;
				animation: fadeIn 0.3s ease;
			}

			.downgrade-warning-content {
				background: white;
				border-radius: 15px;
				max-width: 680px;
				width: 90%;
				box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
				animation: slideInUp 0.3s ease;
			}

			.downgrade-warning-header {
				background: linear-gradient(135deg, #ff6b6b, #ff8e8e);
				color: white;
				padding: 20px;
				border-radius: 15px 15px 0 0;
				display: flex;
				align-items: center;
				justify-content: space-between;
				position: relative;
			}

			.downgrade-warning-header h3 {
				margin: 0;
				font-size: 33px;
				font-weight: bold;
				display: flex;
				align-items: center;
				gap: 10px;
			}

			.downgrade-warning-close {
				background: none;
				border: none;
				color: white;
				font-weight: bold;
				font-size: 54px;
				cursor: pointer;
				padding: 0;
				width: 60px;
				height: 60px;
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 50%;
				transition: background 0.3s ease;
			}

			.downgrade-warning-close:hover {
				background: rgba(255, 255, 255, 0.2);
			}

			.downgrade-warning-body {
				padding: 25px;
			}

			.warning-message {
				text-align: center;
				margin-bottom: 25px;
			}

			.warning-message p {
				margin: 8px 0;
				font-size: 29px;
				line-height: 1.5;
			}

			.current-grade-info {
				background: #f8f9fa;
				border-radius: 10px;
				padding: 20px;
				margin-bottom: 20px;
				text-align: center;
			}

			.current-grade-info .grade-display {
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 15px;
			}

			.current-grade-info .grade-icon {
				width: 70px;
				height: 70px;
			}

			.current-grade-info span {
				font-size: 32px;
				font-weight: bold;
				color: #333;
			}

			.warning-notice {
				background: #e3f2fd;
				border-left: 4px solid #2196f3;
				padding: 15px;
				border-radius: 8px;
				margin-bottom: 20px;
			}

			.warning-notice p {
				margin: 5px 0;
				font-size: 21px;
				color: #1565c0;
				display: flex;
				align-items: center;
				gap: 8px;
			}

			.downgrade-warning-buttons {
				text-align: center;
				display: flex;
				justify-content: center;
				align-items: center;
			}

			.downgrade-warning-ok-btn {
				background: linear-gradient(45deg, #ff6b6b, #ff8e8e);
				color: white;
				border: none;
				padding: 12px 30px;
				margin-bottom: 20px;
				border-radius: 8px;
				font-size: 29px;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				line-height: 1;
			}

			.downgrade-warning-ok-btn:hover {
				background: linear-gradient(45deg, #ff5252, #ff7979);
				transform: translateY(-2px);
				box-shadow: 0 6px 16px rgba(255, 107, 107, 0.4);
			}

			.downgrade-warning-ok-btn:active {
				transform: translateY(0);
				box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
			}



			.upgrade-to-next-btn {
				width: 100%;
				padding: 15px 20px;
				background: linear-gradient(45deg, #ffd700, #ffed4e);
				color: #b8860b;
				border: 2px solid #ffd700;
				border-radius: 10px;
				font-size: 28px;
				font-weight: bold;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 4px 12px rgba(255, 215, 0, 0.4);
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 10px;
			}

			.recommendation-benefits p {
				margin: 8px 0;
				padding: 8px 15px;
				background: rgba(40, 167, 69, 0.1);
				border-radius: 8px;
				font-size: 24px;
				color: #155724;
				display: flex;
				align-items: center;
				gap: 10px;
			}
			
			.grade-price {
				font-size: 25px;
				color: #28a745;
				font-weight: bold;
			}

			.grade-differences {
				margin-bottom: 20px;
			}

			.grade-differences h5 {
				color: #b8860b;
				font-size: 25px;
				margin-bottom: 10px;
				text-align: center;
			}

			.grade-differences ul {
				list-style: none;
				padding: 0;
				margin: 0;
			}

			.grade-differences li {
				padding: 8px 15px;
				margin: 5px 0;
				background: rgba(255, 255, 255, 0.9);
				border-radius: 8px;
				border-left: 4px solid #ffd700;
				font-size: 24px;
				color: #333;
				box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
			}

			.recommended-grade .grade-icon {
				width: 80px;
				height: 80px;
			}

			.recommendation-header h4 {
				color: #b8860b;
				font-weight: bold;
				font-size: 27px;
				margin: 0;
				display: flex;
				align-items: center;
				justify-content: center;
			}

			.popup-grade-icon {
				width: 70px;
				height: 70px;
				object-fit: contain;
				filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
			}
			
			.popup-grade-name {
				font-size: 2.2em;
				font-weight: 700;
				color: #ffffff;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
			}
			
			
			
			.service-detail-close {
				position: absolute;
				top: 15px;
				right: 20px;
				background: none;
				border: none;
				color: white;
				font-size: 73px;
				font-weight: 700;
				cursor: pointer;
				padding: 0;
				width: 70px;
				height: 70px;
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 50%;
				transition: background-color 0.2s ease;
			}

			.detail-section p {
				margin: 30px 0;
				padding: 10px;
				line-height: 1.6;
				color: #333;
				font-size: 1.5em;
			}

			.detail-section h4 {
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				color: white;
				padding: 15px 20px;
				border-radius: 10px;
				font-size: 1.8em;
				font-weight: 600;
				text-align: center;
				margin: 20px 0;
				box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
				position: relative;
				overflow: hidden;
				letter-spacing: 0.5px;
			}

			.popup-service-title {
				font-size: 1.9em;
				font-weight: 500;
				color: #ffffff;
				opacity: 0.9;
			}

			/* ?쒕퉬???곸꽭 ?낅Т ?ㅽ???*/
			.service-detail-popup {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: rgba(0, 0, 0, 0.7);
				z-index: 10000;
				backdrop-filter: blur(5px);
			}

			.service-detail-content {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background: white;
				border-radius: 15px;
				box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
				max-width: 800px;
				width: 90%;
				max-height: 80vh;
				overflow: hidden;
				animation: popupSlideIn 0.3s ease-out;
			}

			@keyframes popupSlideIn {
				from {
					opacity: 0;
					transform: translate(-50%, -50%) scale(0.8);
				}
				to {
					opacity: 1;
					transform: translate(-50%, -50%) scale(1);
				}
			}

			.service-detail-header {
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				color: white;
				padding: 20px 25px;
				position: relative;
			}

			.service-detail-header h3 {
				margin: 0;
				font-size: 1.4em;
				font-weight: 600;
				line-height: 1.3;
			}


			.grade-text {
				font-weight: bold !important;
				font-size: 1.4rem !important;
			}

			.grade-note {
				font-size: 1.3rem !important;
				color:rgb(131, 137, 143) !important;
			}

			/* 제휴 신청 등급 표시 크기 두 배 */
			.target-grade h4 {
				font-size: 2.0rem !important;
				font-weight: 600;
			}
			
			.grade-display {
				font-size: 2.0rem !important;
			}
			
			.grade-display .grade-icon {
				width: 80px !important;
				height: 80px !important;
			}
			
			.grade-display span {
				font-size: 2.0rem !important;
				font-weight: 600;
			}
			
			.remaining-period {
				font-size: 1.8rem !important;
			}
			
			.remaining-period span {
				font-size: 1.8rem !important;
			}
			
			/* 제휴 신청 버튼들 크기 두 배 */
			.upgrade-confirm-btn,
			.upgrade-cancel-btn {
				font-size: 2.0rem !important;
				padding: 20px 40px !important;
				min-width: 200px !important;
			}

			#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;
			}

			/* 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; /* ?占쎌껜 而⑦뀗痢좎쓽 ?占쏀겕濡ㅿ옙? ?占쎌쓬 */
			}

			.popup-content2 {
				position: relative;
				background-color: #fefefe;
				margin: 150px auto;
				padding: 90px 20px 20px 20px; /* ?곷떒 ?⑤뵫?쇰줈 ?リ린 踰꾪듉 ?곸뿭 ?뺣낫 */
				width: 900px;
				max-width: 900px;
				border-radius: 10px;
				max-height: 1750px;
				height: 1750px;
				overflow: auto; /* ?占쎌껜 而⑦뀗痢좎쓽 ?占쏀겕濡ㅿ옙? ?占쎌쓬 */
			}


			.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 초기화 */
			}
			
			/* 우측 메뉴 스타일 */
			.lv-title-right {
				color: #ff6b6b;
				font-size: 1.7em;
				font-weight: 700;
				font-family: 'Noto Sans KR', sans-serif;
				padding: 8px 16px;
				border-radius: 20px;
				border: 2px solid #ff6b6b;
				background: linear-gradient(135deg, #ff6b6b, #ff8e53);
				color: white;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
				transition: all 0.3s ease;
			}

			.lv-title-right:hover {
				transform: translateY(-2px);
				box-shadow: 0 6px 20px rgba(255, 107, 107, 0.5);
				background: linear-gradient(135deg, #ff8e53, #ff6b6b);
			}

			.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;
			}	


			.grade-icon {
				width: 110px;
				height: 110px;
			}



			/* 이벤트 팝업 스타일 여기 */
			.event-popup {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: rgba(0, 0, 0, 0.8);
				display: flex;
				justify-content: center;
				align-items: center;
				z-index: 10000;
				animation: fadeIn 0.5s ease-out;
			}
			
			.event-content {
				background: rgba(255, 255, 255, 0.95);
				border-radius: 24px;
				padding: 0;
				max-width: 770px;
				width: 90%;
				min-height: 700px;
				overflow: hidden;
				box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
				position: relative;
				animation: slideInUp 0.6s ease-out;
				border: 1px solid rgba(0, 0, 0, 0.08);
				backdrop-filter: blur(20px);
			}

			.event-header {
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				padding: 25px 20px;
				text-align: center;
				border-radius: 24px 24px 0 0;
				position: relative;
				overflow: hidden;
				border-bottom: none;
			}

			.event-header::before {
				content: '';
				position: absolute;
				top: -50%;
				left: -50%;
				width: 200%;
				height: 200%;
				background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
				animation: shimmer 3s infinite;
			}

			.event-icon {
				font-size: 3.5rem;
				color: #FFD700;
				margin-bottom: 10px;
				animation: bounce 2s infinite;
				text-shadow: 0 2px 8px rgba(255, 215, 0, 0.4);
				filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.3));
			}

			.event-header h2 {
				color: #fff;
				font-size: 2.8rem;
				font-weight: 500;
				margin: 0;
				text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
				letter-spacing: 0.5px;
			}

			.event-close {
				position: absolute;
				top: 12px;
				right: 15px;
				background: rgba(255, 255, 255, 0.15);
				border: 1px solid rgba(255, 255, 255, 0.2);
				color: #fff;
				font-size: 3.2rem;
				width: 32px !important;
				height: 42px !important;
				border-radius: 16px;
				cursor: pointer;
				transition: all 0.3s ease;
				display: flex;
				align-items: center;
				justify-content: center;
				font-weight: bold;
				line-height: 1;
				box-sizing: border-box;
			}

			.event-close:hover {
				background: rgba(255, 255, 255, 0.25);
				transform: scale(1.1);
				border-color: rgba(255, 255, 255, 0.3);
			}

			.event-body {
				padding: 20px 25px 15px 25px;
				background: rgba(255, 255, 255, 0.95);
			}

			.event-title {
				text-align: center;
				margin-bottom: 20px;
			}

			.event-title h3 {
				color: #666;
				font-size: 2.0rem;
				margin: 0 0 8px 0;
				font-weight: 500;
				letter-spacing: 0.3px;
			}

			.event-title h1 {
				color: #333;
				font-size: 3.2rem;
				margin: 0;
				font-weight: 800;
				background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
				-webkit-background-clip: text;
				-webkit-text-fill-color: transparent;
				background-clip: text;
				letter-spacing: 0.5px;
			}

			.event-description {
				text-align: center;
				margin-bottom: 20px;
			}

			.event-description p {
				color: #555;
				font-size: 2.0rem;
				line-height: 1.5;
				margin: 8px 0;
				font-weight: 400;
			}

			.event-description strong {
				color: #667eea;
				font-weight: 700;
			}

			.event-benefits {
				margin-bottom: 20px;
			}
						
			.benefit-item {
				display: flex;
				align-items: center;
				margin-bottom: 10px;
				padding: 20px 25px;
				background: linear-gradient(135deg, #ffffff 0%, #f8f9ff 100%);
				border-radius: 8px;
				border-left: 3px solid #667eea;
				transition: all 0.3s ease;
				box-shadow: 0 2px 8px rgba(102, 126, 234, 0.1);
			}

			.benefit-item:hover {
				transform: translateX(5px);
				box-shadow: 0 5px 15px rgba(102, 126, 234, 0.2);
			}

			.benefit-item i {
				color: #667eea;
				font-size: 2.0rem;
				margin-right: 22px;
				animation: pulse 2s infinite;
			}

			.benefit-item span {
				color: #333;
				font-size: 2.2rem;
				font-weight: 500;
				letter-spacing: 0.2px;
			}

			.event-timer {
				text-align: center;
				padding: 15px;
				background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
				border-radius: 12px;
				margin-bottom: 20px;
				box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
				border: 1px solid rgba(0, 0, 0, 0.05);
			}

			.event-timer p {
				color: #495057;
				font-size: 2.5rem;
				font-weight: 600;
				margin: 0;
				animation: blink 1.5s infinite;
			}

			.event-timer p i {
				text-shadow: 0 0 8px rgba(255, 215, 0, 0.6);
				filter: drop-shadow(0 0 4px rgba(255, 215, 0, 0.4));
			}

			.event-buttons {
				display: flex;
				flex-direction: column;
				gap: 12px;
				padding: 0 20px 20px 20px;
				background: white;
			}

			.event-confirm-btn {
				background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
				color: #333;
				border: none;
				padding: 18px 25px;
				border-radius: 15px;
				font-size: 3.3rem;
				font-weight: 800;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 8px 25px rgba(255, 215, 0, 0.4);
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 10px;
				position: relative;
				overflow: hidden;
				letter-spacing: 0.5px;
				text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
				border: 2px solid rgba(255, 255, 255, 0.2);
			}

			.event-confirm-btn::before {
				content: '';
				position: absolute;
				top: 0;
				left: -100%;
				width: 100%;
				height: 100%;
				background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
				transition: left 0.5s;
			}

			.event-confirm-btn:hover::before {
				left: 100%;
			}

			.event-confirm-btn:hover {
				transform: translateY(-3px);
				box-shadow: 0 12px 35px rgba(255, 215, 0, 0.5);
				background: linear-gradient(135deg, #FFE55C 0%, #FFB347 100%);
			}

			.event-confirm-btn:active {
				transform: translateY(-1px);
			}

			.event-cancel-btn {
				background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
				color: white;
				border: none;
				padding: 10px 25px;
				border-radius: 15px;
				font-size: 2.0rem;
				font-weight: 600;
				cursor: pointer;
				transition: all 0.3s ease;
				box-shadow: 0 6px 20px rgba(108, 117, 125, 0.3);
				letter-spacing: 0.3px;
				border: 2px solid rgba(255, 255, 255, 0.1);
				display: flex;
				align-items: center;
				justify-content: center;
			}

			.event-cancel-btn:hover {
				transform: translateY(-2px);
				box-shadow: 0 8px 25px rgba(108, 117, 125, 0.4);
				background: linear-gradient(135deg, #7a8288 0%, #5a6268 100%);
			}

			.event-cancel-btn:active {
				transform: translateY(-1px);
			}
		}
		
	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;
		font-family: "Notosans", sans-serif !important;
	}

	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;
		}

		#banner p {
			color: rgba(255, 255, 255, 0.85);
			font-size: 1.5em;
			font-weight: 300;
		}

		#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;
		}

		body.is-loading #banner:before {
			opacity: 1;
		}

/* Main */

	#main {
		padding: 2em 0 2em 0;
	}


/* Footer */

	#footer {
		padding: 4em 0 2em 0;
		background-color: #f5f5f5;
		text-align: center;
	}

		#footer .inner {
			width: 50%;
			margin: 0 auto;
		}

		#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;
}


















.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; /* ?묓겕??*/
}



.mypage-container {
    max-width: 700px;
    margin: 0 auto;
    padding: 20px;
}

.user-info-form {
    background: #fff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.form-group {
    position: relative;
    margin-bottom: 20px;
}

.form-group .form-row {
    display: flex;
    gap: 10px;
    align-items: center;
}


.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #333;
	font-size: 28px;
}

.form-group button {
	font-size: 28px;
}

.form-group input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 28px;
}

.form-group input:focus {
    border-color: #007bff;
    outline: none;
    box-shadow: 0 0 0 2px rgba(0,123,255,0.25);
}

.form-group input[readonly] {
    background-color: #f8f9fa;
    cursor: not-allowed;
}

.form-buttons {
    display: flex;
    align-items: center;  /* ?섏쭅 以묒븰 ?뺣젹 */
    justify-content: center;  /* ?섑룊 以묒븰 ?뺣젹 */
    margin: 20px 0;  /* ?꾩븘???щ갚 */
}

.save-btn {
    padding: 12px 30px;
    background: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    font-size: 28px;
    cursor: pointer;
    transition: background-color 0.2s;
    line-height: 1;  /* ?띿뒪???섏쭅 以묒븰 ?뺣젹 */
    display: inline-flex;  /* flex濡?蹂寃?*/
    align-items: center;  /* ?섏쭅 以묒븰 ?뺣젹 */
    justify-content: center;  /* ?섑룊 以묒븰 ?뺣젹 */
    height: 90px;  /* 踰꾪듉 ?믪씠 怨좎젙 */
	width: 100%;
	margin-right: 5px;
}

.save-btn:hover {
    background: #0056b3;
}

.cancel-btn {
    background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
    color: white;
    border: none;
    padding: 12px 30px;
    border-radius: 4px;
    font-size: 28px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(231, 76, 60, 0.3);
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 90px;
	width: 100%;
    margin-left: 0px;
}

.cancel-btn:hover {
    background: linear-gradient(135deg, #c0392b 0%, #a93226 100%);
	color: #007bff !important;
}

.cancel-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(231, 76, 60, 0.3);
}
/* ?먮윭 硫붿떆吏 */
.error-message {
    color: #dc3545;
    font-size: 18px;
    margin-top: 5px;
    display: none;
}

/* ?깃났 硫붿떆吏 */
.success-message {
    color: #28a745;
    font-size: 18px;
    margin-top: 5px;
    display: none;
}




.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);
}






.verify-button:disabled {
    cursor: not-allowed;
    background-color: #cccccc;
    transition: opacity 0.3s ease;
}

.verify-button {
    transition: opacity 0.3s ease;
}




.dropdown-list {
    max-height: 150px;
    overflow-y: auto;
}
.dropdown-item {
	font-size: 28px;
    padding: 8px 12px;
    cursor: pointer;
}
.dropdown-item:hover {
    background: #f0f0f0;
}



/* 湲됱뿬 ?좏깮 ?낅Т ?ㅽ???*/
.lv-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    overflow-y: auto;
    max-height: calc(80vh - 140px);
}

.lv-item {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    border: 2px solid #e9ecef;
    border-radius: 15px;
    padding: 25px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    position: relative;
    overflow: visible;
    margin-bottom: 20px;
}

.lv-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #ff6b6b, #feca57, #48dbfb, #ff9ff3);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.lv-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    border-color: #007bff;
}

.lv-item:hover::before {
    opacity: 1;
}

.lv-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f1f3f4;
}

.lv-left {
    display: flex;
    align-items: center;
    gap: 15px;
}



/* HOT 留먰뭾???ㅽ???*/
.hot-bubble {
    display: inline-block;
    background: #ff4757;
    color: white;
    font-size: 0.8em;
    font-weight: 800;
    font-family: 'Arial', sans-serif;
    padding: 4px 8px;
    border-radius: 12px;
    margin-right: 8px;
    animation: hotPulse 2s ease-in-out infinite;
    box-shadow: 0 2px 8px rgba(255, 71, 87, 0.4);
    vertical-align: middle;
}



@keyframes hotPulse {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 4px 15px rgba(255, 71, 87, 0.4);
    }
    50% {
        transform: scale(1.1);
        box-shadow: 0 6px 20px rgba(255, 71, 87, 0.6);
    }
}


.lv-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.lv-btn:hover {
    background: linear-gradient(135deg, #0056b3, #004085);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 123, 255, 0.4);
}

.lv-btn:hover::before {
    left: 100%;
}

.lv-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(0, 123, 255, 0.3);
}

/* 湲됱뿬???곸꽭 ?뺣낫 */
.lv-item.vip-theme {
    border-color: #ff6b6b;
}

.lv-item.vip-theme .lv-service {
    border-left-color: #ff6b6b;
}

.lv-item.vip-theme .service-title {
    color: #ff6b6b;
}

.lv-item.diamond-theme {
    border-color: #48dbfb;
}

.lv-item.diamond-theme .lv-service {
    border-left-color: #48dbfb;
}

.lv-item.diamond-theme .service-title {
    color: #48dbfb;
}

.lv-item.gold-theme {
    border-color: #feca57;
}

.lv-item.gold-theme .lv-service {
    border-left-color: #feca57;
}

.lv-item.gold-theme .service-title {
    color: #feca57;
}

.lv-item.silver-theme {
    border-color: #c8d6e5;
}

.lv-item.silver-theme .lv-service {
    border-left-color: #c8d6e5;
}

.lv-item.silver-theme .service-title {
    color: #8395a7;
}

.lv-item.bronze-theme {
    border-color: #cd7f32;
}

.lv-item.bronze-theme .lv-service {
    border-left-color: #cd7f32;
}

.lv-item.bronze-theme .service-title {
    color: #cd7f32;
}
.lv-vip {
    color: #f1c40f;
    text-shadow: 0 0 4px #fffbe6;
}
.lv-diamond {
    color: #00bfff;
    text-shadow: 0 0 4px #e0f7fa;
}
.lv-gold {
    color: #ffd700;
    text-shadow: 0 0 4px #fffbe6;
}
.lv-silver {
    color: #b0b0b0;
    text-shadow: 0 0 4px #f4f4f4;
}
.lv-bronze {
    color: #cd7f32;
    text-shadow: 0 0 4px #fff3e0;
}


/* ?섑듃諛뺣룞 ?좊땲硫붿씠???④낵 */
@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;
    }
}

/* 踰꾪듉 ?띿뒪?몃? ?꾨옒濡??뺣젹 */
.lv-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}



/* ?낅Т 湲됱뿬 ?뺣낫 ?ㅽ???*/
.popup-grade-info {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 2px solid rgba(255, 255, 255, 0.3);
}



.service-detail-close:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

.service-detail-body {
    padding: 25px;
    max-height: 60vh;
    overflow-y: auto;
}

.service-detail-body::-webkit-scrollbar {
    width: 8px;
}

.service-detail-body::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.service-detail-body::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}

.service-detail-body::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

#serviceDetailDesc {
    line-height: 1.8;
    color: #333;
    font-size: 1.1em;
}

#serviceDetailDesc br {
    margin-bottom: 8px;
}

.service-desc:hover {
    background: linear-gradient(135deg, #e9ecef, #dee2e6);
    border-color: #adb5bd;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* service-desc ?대옒???ㅽ??쇰쭅 */
.service-desc br2 {
    display: none;
}

.service-desc br3 {
    display: none;
}

.service-desc br4 {
    display: none;
}

.service-desc br {
    display: inline;
    margin-bottom: 8px;
}

.service-desc::before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, #c7c7c7, transparent);
    margin-bottom: 12px;
}

.service-desc::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, #c7c7c7, transparent);
    margin-top: 12px;
}

/* ?쒕퉬??湲곕뒫 由ъ뒪???ㅽ???*/
.service-feature-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.service-feature-list li {
    position: relative;
    padding: 8px 0 8px 24px;
    margin: 4px 0;
    color: #495057;
    font-size: 0.9em;
    line-height: 1.5;
    border-bottom: 1px solid rgba(222, 226, 230, 0.5);
}

.service-feature-list li:last-child {
    border-bottom: none;
}

/* 湲곕낯 泥댄겕留덊겕 ?꾩씠肄??ㅽ???*/
.service-feature-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 8px;
    color: #28a745;
    font-weight: bold;
    font-size: 1.1em;
}

/* X???대깽???ㅽ???*/
.service-feature-list li.x-item::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 8px;
    color: #dc3545;
    font-weight: bold;
    font-size: 1.1em;
}

/* X???대깽???ㅽ???*/
.service-feature-list li.y-item::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 8px;
    color: #3570dc;
    font-weight: bold;
    font-size: 1.1em;
}

.service-desc::after {
    content: '👆 클릭하여 상세보기';
    position: absolute;
    bottom: -25px;
    left: 0;
    font-size: 0.8em;
    color: #666;
    opacity: 1;
    white-space: nowrap;
}


/* 諛곌꼍 ?대?吏 ?ㅽ???*/
.background-image-container {
    position: relative;
    max-width: 700px;
    min-width: 600px;
    height: auto;
    margin: 30px 0;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.background-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.9;
    transition: opacity 0.7s ease;
}

/* detail-image 스타일 */
.detail-image {
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    display: block;
    margin: 10px auto;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* 아코디언 스타일 */
.accordion-header {
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
}

.accordion-header:hover {
    background-color: rgba(102, 126, 234, 0.1);
}

.accordion-header::after {
    content: '';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5em;
    font-weight: bold;
    transition: transform 0.3s ease;
}

.accordion-header.active::after {
    content: '';
    transform: translateY(-50%) rotate(180deg);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.accordion-content.active {
    max-height: calc(80vh - 200px);
    overflow-y: auto;
    transition: max-height 0.3s ease-in;
}

/* 요기 Beautiful Headline Design for Management Section */


.detail-section h4::before {
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transition: left 0.5s;
}

.detail-section h4:hover::before {
	left: 100%;
}

/* 沅뚰븳??????ㅻ챸 ?ㅽ??쇰쭅 */


/* 沅뚰븳 援щ텇??????ㅽ??쇰쭅 */
.detail-section p:has(strong),
.detail-section p:first-of-type {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	border-left: 4px solid #007bff;
	padding: 15px 20px;
	margin: 15px 0;
	border-radius: 0 8px 8px 0;
	box-shadow: 0 2px 8px rgba(0, 123, 255, 0.1);
	position: relative;
}

.detail-section p:has(strong)::before,
.detail-section p:first-of-type::before {
	position: absolute;
	left: -8px;
	top: 50%;
	transform: translateY(-50%);
	background: #007bff;
	color: white;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* ?뺤옣 沅뚰븳 ?ㅽ???*/
.detail-section p:nth-of-type(2) {
	background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
	border-left: 4px solid #ffc107;
	box-shadow: 0 2px 8px rgba(255, 193, 7, 0.1);
}

.detail-section p:nth-of-type(2)::before {
	background: #ffc107;
}

/* 蹂댁“ 沅뚰븳 ?ㅽ???*/
.detail-section p:nth-of-type(3) {
	background: linear-gradient(135deg, #d1ecf1 0%, #bee5eb 100%);
	border-left: 4px solid #17a2b8;
	box-shadow: 0 2px 8px rgba(23, 162, 184, 0.1);
}

.detail-section p:nth-of-type(3)::before {
	background: #17a2b8;
}

/* ?쇰컲 ?댁슜 臾멸뎄 ?ㅽ???*/
.detail-section p:last-of-type {
	background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
	border-left: 4px solid #28a745;
	box-shadow: 0 2px 8px rgba(40, 167, 69, 0.1);
	font-weight: 500;
	color: #155724;
}

/* 蹂댁“ 沅뚰븳 ?ㅽ???*/
.detail-section p:nth-of-type(4) {
	background: linear-gradient(135deg, #f1d1f1 0%, #f1d1f1 100%);
	border-left: 4px solid #ec58ea;
	box-shadow: 0 2px 8px rgba(23, 162, 184, 0.1);
}

.detail-section p:nth-of-type(4)::before {
	background: #ec58ea;
}

/* 蹂댁“ 沅뚰븳 ?ㅽ???*/
.detail-section p:nth-of-type(5) {
	background: linear-gradient(135deg, #fdabab 0%, #fdabab 100%);
	border-left: 4px solid #fc6868;
	box-shadow: 0 2px 8px rgba(23, 162, 184, 0.1);
}

.detail-section p:nth-of-type(5)::before {
	background: #fc6868;
}

/* 蹂댁“ 沅뚰븳 ?ㅽ???*/
.detail-section p:nth-of-type(6) {
	background: linear-gradient(135deg, #fbf8ad 0%, #fbf8ad 100%);
	border-left: 4px solid #fcf303;
	box-shadow: 0 2px 8px rgba(23, 162, 184, 0.1);
}

.detail-section p:nth-of-type(6)::before {
	background: #fcf303;
}

/* 蹂댁“ 沅뚰븳 ?ㅽ???*/
.detail-section p:nth-of-type(7) {
	background: linear-gradient(135deg, #c8fca8 0%, #c8fca8 100%);
	border-left: 4px solid #9afe5e;
	box-shadow: 0 2px 8px rgba(23, 162, 184, 0.1);
}

.detail-section p:nth-of-type(7)::before {
	background: #9afe5e;
}

/* 蹂댁“ 沅뚰븳 ?ㅽ???*/
.detail-section p:nth-of-type(8) {
	background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
	border-left: 4px solid #ffc107;
	box-shadow: 0 2px 8px rgba(255, 193, 7, 0.1);
}

.detail-section p:nth-of-type(8)::before {
	background: #ffc107;
}

/* 蹂댁“ 沅뚰븳 ?ㅽ???*/
.detail-section p:nth-of-type(9) {
	background: linear-gradient(135deg, #d1ecf1 0%, #bee5eb 100%);
	border-left: 4px solid #17a2b8;
	box-shadow: 0 2px 8px rgba(23, 162, 184, 0.1);
}

.detail-section p:nth-of-type(9)::before {
	background: #17a2b8;
}

/* ?쇰컲 ?댁슜 臾멸뎄 ?ㅽ???*/
.detail-section p:last-of-type {
	background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
	border-left: 4px solid #28a745;
	box-shadow: 0 2px 8px rgba(40, 167, 69, 0.1);
	font-weight: 500;
	color: #155724;
}

.detail-section p:last-of-type::before {
	background: #28a745;
}

/* 沅뚰븳 ?占쎈꺼 媛뺤“ */
.detail-section p strong {
	color: #007bff;
	font-weight: 600;
	font-size: 1.05em;
}

/* ?밸퀎 湲곕뒫 ?ㅻ챸 ?ㅽ???*/
.detail-section p br + br {
	margin-top: 8px;
}

.detail-section p:first-of-type br + br {
	display: block;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(0, 123, 255, 0.2);
	font-style: italic;
	color: #6c757d;
	font-size: 0.9em;
}

/* ?占쎈쾭 ?占쎄낵 */
.detail-section p:hover {
	transform: translateX(5px);
	transition: transform 0.3s ease;
}


/* Alternative style for different sections */
.detail-section h4.management-headline {
	background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
	box-shadow: 0 4px 15px rgba(245, 87, 108, 0.3);
}

.detail-section h4.schedule-headline {
	background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
	box-shadow: 0 4px 15px rgba(79, 172, 254, 0.3);
}

.detail-section h4.settlement-headline {
	background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
	box-shadow: 0 4px 15px rgba(67, 233, 123, 0.3);
}

.detail-section h4.phone-headline {
	background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
	box-shadow: 0 4px 15px rgba(250, 112, 154, 0.3);
}


/* 踰꾪듉 ?쒖꽦???곹깭 ?ㅽ???*/
.save-btn.active {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    box-shadow: 0 6px 20px rgba(40, 167, 69, 0.4);
    transform: translateY(-2px);
}

.save-btn.active:hover {
    background: linear-gradient(135deg, #218838 0%, #1ea085 100%);
    transform: translateY(-2px);
}

.upgrade-calculation {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 25px;
}


.upgrade-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
}

.upgrade-confirm-btn {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    padding: 15px 30px;
    border-radius: 25px;
    font-size: 1.1em;
    font-weight: bold;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
    flex: 1;
    max-width: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.upgrade-confirm-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
}

.upgrade-cancel-btn {
    background: #6c757d;
    color: white;
    border: none;
    padding: 15px 30px;
    border-radius: 25px;
    font-size: 1.1em;
    font-weight: bold;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
    flex: 1;
    max-width: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.upgrade-cancel-btn:hover {
    background: #5a6268;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(108, 117, 125, 0.3);
}

/* 등급 선택 버튼 스타일 */
.level-select-btn {
    padding: 10px 20px;
    background: linear-gradient(45deg, #007bff, #0056b3);
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,123,255,0.3);
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}

.level-select-btn:hover {
    background: linear-gradient(45deg, #0056b3, #004085);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,123,255,0.4);
}

.level-select-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(0,123,255,0.3);
}



/* 애니메이션 */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
}

@keyframes shimmer {
    0% {
        transform: translateX(-100%) translateY(-100%) rotate(45deg);
    }
    100% {
        transform: translateX(100%) translateY(100%) rotate(45deg);
    }
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes blink {
    0%, 50% {
        opacity: 1;
    }
    51%, 100% {
        opacity: 0.7;
    }
}

/* 윗등급 추천 섹션 스타일 */
.upgrade-recommendation {
    background: linear-gradient(135deg, #fff3cd, #ffeaa7);
    border: 2px solid #ffd700;
    border-radius: 15px;
    padding: 20px;
    margin: 20px 0;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
    animation: pulse 2s infinite;
}

.recommendation-header {
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #ffd700;
}



.recommended-grade {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 20px;
    padding: 15px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}



.recommended-grade span:not(.grade-price) {
    font-size: 20px;
    font-weight: bold;
    color: #b8860b;
}


.recommendation-benefits {
    margin-bottom: 20px;
}





.upgrade-to-next-btn:hover {
    background: linear-gradient(45deg, #ffed4e, #ffd700);
    color: #ff0000 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(255, 215, 0, 0.5);
}

/* 기본 상태에서만 주황색 적용 */
button.upgrade-to-next-btn {
    color: #ff8c00 !important;
}




.upgrade-to-next-btn:active {
    transform: translateY(0);
    box-shadow: 0 4px 12px rgba(255, 215, 0, 0.4);
}

/* 도움말 팝업 스타일 */
.help-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	z-index: 10000;
	display: none;
}


@keyframes bounce {
	0%, 20%, 50%, 80%, 100% {
		transform: translateY(0);
	}
	40% {
		transform: translateY(-10px);
	}
	60% {
		transform: translateY(-5px);
	}
}


.help-features {
	display: flex;
	justify-content: space-around;
	margin: 25px 0;
	padding: 20px;
	background: rgba(255, 182, 193, 0.1);
	border-radius: 15px;
	border: 1px solid rgba(255, 182, 193, 0.2);
}

.help-feature {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}




.help-popup-buttons {
	margin-top: 30px;
	display: flex;
	gap: 15px;
	justify-content: center;
}


.help-yes-btn {
	background: linear-gradient(135deg, #ff6b6b, #ee5a52);
	color: white;
}

.help-yes-btn:hover {
	background: linear-gradient(135deg, #ff5252, #e53935);
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);
}

.help-no-btn {
	background: linear-gradient(135deg, #74b9ff, #0984e3);
	color: white;
}

.help-no-btn:hover {
	background: linear-gradient(135deg, #0984e3, #0770c4);
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(116, 185, 255, 0.4);
}

.btn-icon {
	font-size: 1.2em;
}

/* 질문 팝업 스타일 */
.question-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	z-index: 10001;
	display: none;
}


@keyframes pulse {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
	}
}


.close-question-btn:hover {
	background: #ffffff;
	transform: scale(1.1);
	box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
}


.progress-fill {
	height: 100%;
	background: linear-gradient(90deg, #74b9ff, #0984e3);
	transition: width 0.3s ease;
	border-radius: 5px;
}



.question-option:hover {
	border-color: #74b9ff;
	background: linear-gradient(135deg, #f0f8ff, #e6f3ff);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(116, 185, 255, 0.2);
}

.question-option:active {
	transform: translateY(0);
}

.option-icon {
	font-size: 1.5em;
	flex-shrink: 0;
}

.option-text {
	flex: 1;
	font-weight: 500;
	color: #2c3e50;
}

/* 추천 결과 팝업 스타일 */
.recommendation-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	z-index: 10002;
	display: none;
}

.reason-list {
	display: flex;
	flex-direction: column;
	gap: 5px;
}




.select-recommended-btn {
	background: linear-gradient(135deg, #00b894, #00a085);
	color: white;
}

.select-recommended-btn:hover {
	background: linear-gradient(135deg, #00a085, #00cec9);
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(0, 184, 148, 0.4);
}

.retake-survey-btn {
	background: linear-gradient(135deg, #74b9ff, #0984e3);
	color: white;
}

.retake-survey-btn:hover {
	background: linear-gradient(135deg, #0984e3, #0770c4);
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(116, 185, 255, 0.4);
}

/* 등급 추천 버튼 스타일 */
.grade-recommendation-header {
	text-align: center;
	margin-bottom: 20px;
	padding: 15px;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	border-radius: 15px;
	box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.grade-recommendation-btn {
	background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
	border: none;
	border-radius: 25px;
	padding: 15px 30px;
	color: white;
	font-size: 1.1em;
	font-weight: bold;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
}

.grade-recommendation-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);
	background: linear-gradient(135deg, #ff5252 0%, #d63031 100%);
}

.grade-recommendation-btn .btn-icon {
	font-size: 1.3em;
}

.grade-recommendation-btn .btn-text {
	font-size: 1em;
}

/* 반응형 디자인 */
@media screen and (max-width: 980px) {
	.grade-recommendation-btn {
		font-size: 1.3em;
		padding: 18px 25px;
		max-width: 500px;
	}
	
	.grade-recommendation-btn .btn-icon {
		font-size: 1.5em;
	}
	
	.grade-recommendation-btn .btn-text {
		font-size: 1.1em;
	}
}
