/* ===================================================
   Home Page
   =================================================== */

.home-header {
	background: transparent;
	padding: 20px 20px 14px;
	position: relative; z-index: 1;
}
.home-logo {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 16px;
}
.home-logo-text {
	font-size: 1.5rem; font-weight: 900;
	background: linear-gradient(135deg, #A78BFA 0%, #22D3EE 50%, #A78BFA 100%);
	background-size: 200% auto;
	-webkit-background-clip: text; -webkit-text-fill-color: transparent;
	background-clip: text;
	letter-spacing: -.02em;
	animation: shimmer 3s ease infinite;
}
@keyframes shimmer {
	0% { background-position: 0% center; }
	100% { background-position: 200% center; }
}
.home-logo-sub {
	font-size: 0.72rem; color: var(--text-muted); font-weight: 400; margin-top: 3px;
	letter-spacing: .03em;
}
.home-search-bar {
	display: flex; align-items: center;
	background: var(--bg-input);
	border: 1px solid var(--border-glow);
	border-radius: 9999px;
	padding: 12px 18px; gap: 10px;
	cursor: pointer;
	transition: all .25s;
}
.home-search-bar:hover {
	border-color: var(--primary);
	box-shadow: 0 0 20px var(--primary-glow);
}
.home-search-bar span {
	flex: 1; font-size: 0.85rem; color: var(--text-muted);
}
.home-search-bar img { opacity: .4; filter: invert(1); }

.home-stats-card {
	margin: 18px 16px 0;
	background: linear-gradient(135deg, rgba(167,139,250,.15) 0%, rgba(34,211,238,.10) 100%);
	border: 1px solid rgba(167,139,250,.2);
	border-radius: 20px;
	padding: 26px 22px 20px;
	color: #fff;
	position: relative;
	overflow: hidden;
	backdrop-filter: blur(20px);
	z-index: 1;
}
.home-stats-card::before {
	content: '';
	position: absolute; top: -40px; right: -40px;
	width: 140px; height: 140px;
	background: radial-gradient(circle, rgba(167,139,250,.2), transparent 70%);
	border-radius: 50%;
}
.home-stats-card::after {
	content: '';
	position: absolute; bottom: -20px; left: -20px;
	width: 100px; height: 100px;
	background: radial-gradient(circle, rgba(34,211,238,.15), transparent 70%);
	border-radius: 50%;
}
.home-stats-info {
	font-size: 0.85rem; color: var(--text-secondary); margin-bottom: 6px;
}
.home-stats-info .home_dong_nm { color: var(--accent); font-weight: 600; }
.home-stats-count {
	font-size: 1.8rem; font-weight: 900; letter-spacing: -.02em;
	background: linear-gradient(135deg, #fff, var(--primary-light));
	-webkit-background-clip: text; -webkit-text-fill-color: transparent;
	background-clip: text;
}
.home-stats-count span { font-size: 0.9rem; font-weight: 400; -webkit-text-fill-color: var(--text-secondary); }
.home-near-btn {
	display: inline-flex; align-items: center; gap: 8px;
	margin-top: 16px;
	padding: 11px 24px;
	background: linear-gradient(135deg, var(--primary), #8B5CF6);
	border: none;
	border-radius: 9999px;
	color: #fff;
	font-size: 0.85rem; font-weight: 700;
	cursor: pointer;
	transition: all .25s;
	box-shadow: 0 4px 20px rgba(167,139,250,.35);
	position: relative; z-index: 1;
}
.home-near-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 30px rgba(167,139,250,.5);
}

.home-category {
	padding: 18px 0 10px;
	background: transparent;
	margin-top: 14px;
	position: relative; z-index: 1;
}
.home-category-scroll {
	display: flex; gap: 8px;
	overflow-x: auto; overflow-y: hidden;
	padding: 0 16px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.home-category-scroll::-webkit-scrollbar { display: none; }
.home-cat-pill {
	flex-shrink: 0;
	padding: 9px 20px;
	border-radius: 9999px;
	background: var(--bg-elevated);
	color: var(--text-secondary);
	font-size: 0.82rem; font-weight: 600;
	white-space: nowrap;
	cursor: pointer;
	border: 1px solid var(--border-dark);
	transition: all .25s;
}
.home-cat-pill:hover,
.home-cat-pill:active {
	background: rgba(167,139,250,.12);
	color: var(--primary);
	border-color: rgba(167,139,250,.3);
	box-shadow: 0 0 15px rgba(167,139,250,.15);
}

.home-shop-section {
	background: transparent;
	margin-top: 12px;
	padding: 22px 0 0;
	position: relative; z-index: 1;
}
.home-shop-title {
	padding: 0 16px 16px;
}
.home-shop-title h1 {
	font-size: 1.1rem; font-weight: 700; color: var(--text-primary);
}
.home-shop-title h1 .home_dong_nm { color: var(--accent); }

.home-shop-list {
	padding: 0 10px;
}

.home-more-wrap {
	padding: 16px;
	text-align: center;
}
.home-more-btn {
	width: 100%;
	padding: 15px;
	border: 1px solid var(--border-glow);
	border-radius: 14px;
	background: var(--bg-elevated);
	color: var(--text-secondary);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: all .25s;
}
.home-more-btn:hover {
	border-color: var(--primary);
	color: var(--primary);
	background: rgba(167,139,250,.08);
	box-shadow: 0 0 20px var(--primary-glow);
}

/* --- Area Navigation --- */
.area-nav {
	margin: 20px 16px 0;
	background: var(--bg-card);
	border: 1px solid var(--border-dark);
	border-radius: 16px;
	padding: 20px 16px;
	position: relative; z-index: 1;
}
.area-nav-title {
	font-size: 1.0rem; font-weight: 700; color: var(--text-primary);
	margin-bottom: 14px;
}
.area-sido-tabs {
	display: flex; flex-wrap: wrap; gap: 6px;
	margin-bottom: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--border-dark);
}
.area-sido-tab {
	padding: 6px 12px;
	border-radius: 8px;
	font-size: 0.78rem; font-weight: 600;
	color: var(--text-muted);
	background: var(--bg-elevated);
	border: 1px solid var(--border-dark);
	cursor: pointer;
	transition: all .2s;
}
.area-sido-tab.on,
.area-sido-tab:active {
	background: rgba(167,139,250,.15);
	color: var(--primary);
	border-color: rgba(167,139,250,.3);
}
.area-sigu-list {
	display: flex; flex-wrap: wrap; gap: 6px;
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--border-dark);
}
.area-sigu-btn {
	padding: 5px 10px;
	border-radius: 6px;
	font-size: 0.75rem; font-weight: 600;
	color: var(--text-secondary);
	background: transparent;
	border: 1px solid var(--border-dark);
	cursor: pointer;
	transition: all .2s;
}
.area-sigu-btn.on,
.area-sigu-btn:active {
	background: rgba(34,211,238,.1);
	color: var(--accent);
	border-color: rgba(34,211,238,.3);
}
.area-dong-list {
	display: flex; flex-wrap: wrap; gap: 6px;
}
.area-dong-link {
	display: inline-block;
	padding: 5px 10px;
	border-radius: 6px;
	font-size: 0.73rem; font-weight: 500;
	color: var(--text-secondary);
	background: var(--bg-elevated);
	border: 1px solid var(--border-dark);
	text-decoration: none;
	transition: all .2s;
}
.area-dong-link:hover,
.area-dong-link:active {
	background: rgba(167,139,250,.1);
	color: var(--primary);
	border-color: rgba(167,139,250,.25);
}

.home-policy {
	background: var(--bg-card);
	padding: 28px 16px 44px;
	margin-top: 14px;
	border-top: 1px solid var(--border-dark);
}
.home-policy ul { list-style: none; }
.home-policy .my_policy {
	font-size: 0.75rem; color: var(--text-muted);
	margin-bottom: 12px;
}
.home-policy .my_policy a { color: var(--text-secondary); text-decoration: underline; }
.home-policy .my_guide {
	font-size: 0.72rem; color: var(--text-muted); line-height: 1.6; opacity: .7;
}

/* PC Responsive */
@media (min-width: 768px) {
	.home-header { max-width: 800px; margin: 0 auto; padding: 30px 24px 18px; }
	.home-logo-text { font-size: 1.8rem; }
	.home-search-bar { max-width: 600px; }
	.home-stats-card { max-width: 800px; margin: 24px auto 0; }
	.home-category { max-width: 800px; margin: 18px auto 0; }
	.home-shop-section { max-width: 100%; }
	.home-shop-title { padding: 0 24px 16px; }
	.home-shop-list { padding: 0 16px; }
	.home-more-wrap { max-width: 400px; margin: 0 auto; }
	.area-nav { max-width: 800px; margin: 24px auto 0; }
	.home-policy { max-width: 800px; margin: 14px auto 0; }
}
@media (min-width: 992px) {
	.home-header { padding: 40px 24px 20px; }
	.home-shop-list { padding: 0 24px; }
}
