/* 반드시 CLAUDE.md의 절대원칙을 읽고 따를 것, 하나의 클래스/모듈은 하나의 책임만 가져야 함 (SRP 원칙), 하나의 파일에 코드줄은 최대 500~600줄 내에서 생성하여야 하며 최대 코드줄이 넘어가지 않도록 작성, 만약 코드가 길어지면 분할해서 코드작업을 완성하여야 함 */
/* 단지안내 섹션 스타일 */

/* 단지안내 섹션 */
.complex-section {
	padding: 100px 0;
	background: white;
	position: relative;
}

.complex-container {
	max-width: 1400px; /* location-intro-container와 동일한 폭 */
	margin: 0 auto;
	padding: 0 20px;
}

.section-header {
	text-align: center;
	margin-bottom: 0;
}

.section-title {
	font-size: 48px;
	font-weight: 700;
	color: #222;
	margin-bottom: 20px;
	letter-spacing: -2px;
}

.section-subtitle {
	font-size: 20px;
	color: #666;
	line-height: 1.5;
}

.complex-content {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.complex-layout {
	width: 100%; /* location-intro-map과 동일한 폭 */
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	border-radius: 8px;
	position: relative; /* 돋보기 효과를 위한 position */
	cursor: crosshair; /* 돋보기 커서 */
	margin-bottom: 0;
}

.complex-layout-img {
	width: 100%; /* location-intro-map img와 동일 */
	height: auto;
	display: block;
}

.complex-features {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
}

.feature-card {
	background: white;
	padding: 40px 20px;
	border-radius: 12px;
	text-align: center;
	transition: all 0.3s ease;
	box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}

.feature-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}

.feature-icon {
	width: 80px;
	height: 80px;
	margin: 0 auto 20px;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.feature-icon i {
	font-size: 36px;
	color: white;
}

.feature-card h3 {
	font-size: 22px;
	font-weight: 700;
	color: #333;
	margin-bottom: 15px;
}

.feature-card p {
	font-size: 16px;
	color: #666;
	line-height: 1.6;
}

/* 평형 및 세대수 표 스타일 */
.complex-units-table {
	width: 700px !important;
	max-width: 700px !important;
	margin: 0 auto;
	text-align: center;
}

.units-types {
	display: flex;
	gap: 10px;
	margin-bottom: 20px;
}

.unit-type {
	flex: 1;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.unit-size {
	padding: 20px 10px;
	font-size: 22px;
	font-weight: 700;
	color: white;
}

.unit-count {
	padding: 15px 10px;
	background: white;
	font-size: 18px;
	font-weight: 600;
	color: #333;
}

/* 타입별 배경색 */
.type-84a .unit-size {
	background: #20b2aa; /* 청록색 */
}

.type-84b .unit-size {
	background: #4169e1; /* 파란색 */
}

.type-84b1 .unit-size {
	background: #a0826d; /* 갈색 */
}

.units-total {
	padding: 20px;
	background: #f5f5f5;
	border: 2px solid #ddd;
	border-radius: 8px;
	font-size: 20px;
	color: #333;
}

.units-total strong {
	font-size: 24px;
	font-weight: 700;
	color: #222;
}

.complex-notice {
	margin-top: 0;
	padding: 20px;
	background: rgba(0,0,0,0.05);
	border-radius: 8px;
	text-align: center;
}

.complex-notice p {
	color: #666;
	font-size: 14px;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
	.complex-section {
		padding: 60px 0;
	}

	.complex-container {
		padding: 0 20px;
	}

	.section-title {
		font-size: 32px;
	}

	.section-subtitle {
		font-size: 16px;
	}

	.complex-content {
		gap: 40px;
	}

	/* 모바일에서 이미지 상단/좌우 여백 제거, 가로 100% */
	.complex-layout {
		margin: -40px -20px 0 -20px; /* 상단/좌우 여백 제거 */
		width: calc(100% + 40px); /* 컨테이너 전체 너비 */
		border-radius: 0; /* 모바일에서 둥근 모서리 제거 */
		cursor: default; /* 돋보기 커서 제거 */
	}

	.complex-layout-img {
		width: 100%;
	}

	.complex-units-table {
		width: 100% !important;
		max-width: 100% !important;
	}

	.units-types {
		flex-direction: column;
		gap: 10px;
	}

	.unit-size {
		font-size: 18px;
		padding: 15px 10px;
	}

	.unit-count {
		font-size: 16px;
		padding: 12px 10px;
	}

	.units-total {
		font-size: 18px;
		padding: 15px;
	}

	.units-total strong {
		font-size: 20px;
	}

	.complex-features {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}
