/* ============================================================
 * responsive.css — 모든 미디어쿼리
 * Breakpoints: xs(≤374) / sm(≤767) / md(≤1023) / lg(≤1279) / xl(≥1280) / xxl(≥1920)
 * TRD § 6.3
 * camel_theme_01 v1.0.0
 * ============================================================ */

/* ── lg: 소형 노트북 (≤1279px) ──────────────────────────── */

@media (max-width: 1279px) {
	.site-header__inner {
		gap: 1rem;
	}
	.nav-menu {
		gap: calc(var(--nav-item-spacing) - 6px);
	}
	.nav-link {
		font-size: calc(var(--nav-font-size) - 1px);
	}
	.camel-card-grid {
		grid-template-columns: repeat(min(var(--grid-cols, 3), 3), 1fr);
	}
	.posts-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.kboard-gallery-wrap .kboard-gallery-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ── md: 태블릿 (≤1023px) ─────────────────────────────────────── */

@media (max-width: 1023px) {
	.site-header {
		height: var(--header-height-sm);
	}
	body {
		padding-top: var(--header-height-sm);
	}

	/* 내비게이션 숨김 → 햄버거 메뉴로 전환 */
	.main-navigation {
		display: none;
	}

	.site-header__util .header-login-btn span {
		display: none;
	}

	.sub-header {
		min-height: 220px;
	}

	.sub-header__title {
		font-size: clamp(1.5rem, 4vw, 2rem);
	}

	.sub-page-layout {
		grid-template-columns: 1fr;
	}

	.sidebar-widget-area {
		position: static;
	}

	.camel-card-grid {
		grid-template-columns: repeat(min(var(--grid-cols, 3), 2), 1fr) !important;
	}

	.posts-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.fullscreen-nav__nav {
		grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
		gap: 1.5rem;
	}
	.entry-content {
		padding: 2rem 0;
	}
}

/* ── sm: 스마트폰 (≤767px) ───────────────────────────────── */

@media (max-width: 767px) {
	:root {
		--section-padding: 48px 0;
		--container-padding: 0 16px;
	}

	.site-header__util .header-search-btn,
	.site-header__util .header-login-btn {
		display: none;
	}

	.sub-header {
		min-height: 180px;
	}

	.sub-header__inner {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.sub-header__title {
		font-size: 1.5rem;
	}

	.sub-header__desc {
		font-size: 0.9375rem;
	}

	.posts-grid {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.camel-card-grid {
		grid-template-columns: 1fr !important;
	}

	.kboard-gallery-wrap .kboard-gallery-list {
		grid-template-columns: 1fr;
	}

	.kboard-default-list th:nth-child(n+3),
	.kboard-default-list td:nth-child(n+3) {
		display: none;
	}

	.fullscreen-nav__nav {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.fullscreen-nav__link {
		font-size: 1.25rem;
	}

	.fullscreen-nav__inner {
		padding: 5rem 1.25rem 2rem;
	}

	.wpmember-wrap,
	.wp-member-wrap {
		margin: 1.5rem auto;
		padding: 1.5rem;
	}

	.site-footer__bottom-inner {
		flex-direction: column;
		gap: 1rem;
		text-align: center;
	}

	.site-footer__widgets-inner {
		grid-template-columns: 1fr;
	}

	.back-to-top {
		bottom: 1rem;
		right: 1rem;
		width: 40px;
		height: 40px;
	}

	.camel-btn--lg {
		padding: 0.875rem 2rem;
		font-size: 1rem;
	}

	/* 홈 슬라이더 텍스트 */
	.home-visual__title {
		font-size: clamp(1.5rem, 6vw, 2.5rem);
	}

	.home-visual__desc {
		font-size: 0.9375rem;
	}

	/* 갤러리 */
	.gallery-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	/* 연혁 타임라인 */
	.camel-timeline--horizontal {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	/* 에러 페이지 */
	.error-404__code {
		font-size: 6rem;
	}

	/* 아코디언 */
	.camel-accordion__trigger {
		font-size: 0.9375rem;
	}

	/* 탭 */
	.camel-tab__nav {
		overflow-x: auto;
	}
	.camel-tab__btn {
		white-space: nowrap;
	}
}

/* ── xs: 구형 소형 스마트폰 (≤374px) ──────────────────────── */

@media (max-width: 374px) {
	:root {
		--container-padding: 0 12px;
	}

	.nav-link {
		font-size: 0.875rem;
	}

	.site-logo__link--text {
		font-size: 1.125rem;
	}

	.gallery-grid {
		grid-template-columns: 1fr !important;
	}

	h1 {
		font-size: 1.5rem;
	}
	h2 {
		font-size: 1.25rem;
	}
}

/* ── xl: 데스크탑 (≥1280px) ───────────────────────────────── */

@media (min-width: 1280px) {
	.container {
		padding: var(--container-padding);
	}

	.fullscreen-nav__nav {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* ── xxl: 대형 모니터 (≥1920px) ───────────────────────────── */

@media (min-width: 1920px) {
	:root {
		--container-max: 1400px;
		--font-size-base: 17px;
	}

	.site-header {
		height: calc(var(--header-height) + 10px);
	}
}

/* ── 푸터 레이아웃 공통 ──────────────────────────────────── */

.site-footer__bottom-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.25rem 0;
}

.site-footer__widgets-inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	padding: 3rem 0;
}

@media (max-width: 1023px) {
	.site-footer__widgets-inner {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.site-footer__widgets-inner {
		grid-template-columns: 1fr;
		gap: 1rem;
		padding: 2rem 0;
	}
}
