/**
 * Slider Frontend Stylesheet (assets/css/slider.css)
 * 반응형 높이 변수, clamp 기반 가변 폰트, 다크 딤 오버레이, GSAP 초기 상태 처리
 */

/* ── 슬라이더 전체 용기 ── */
.archf-slider-container {
	position: relative;
	width: 100%;
	max-width: 100%;
	height: var(--slider-height, 720px);
	overflow: hidden;
	box-sizing: border-box;
	container-type: inline-size;
	contain: layout style;
}

/* 너비 모드: 100% 화면 전체 — 실제 폭은 main.css .archf-slider-container--viewport-full */
.archf-slider-container--width-full {
	margin-left: 0;
	margin-right: 0;
}

/* 너비 모드: 부모(container) 안 100% */
.archf-slider-container--width-parent {
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* 너비 모드: 고정 px */
.archf-slider-container--width-custom {
	width: min(var(--slider-width, 100%), 100%);
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* 홈 100% — main.css #page > .archf-home-slider-wrap--full 가 전체 너비 처리 */
.archf-home-slider-wrap--full .archf-slider-container,
.archf-home-slider-wrap--full .archf-slider-container--viewport-full,
.archf-home-slider-wrap--full .archf-slider-container--home-bleed {
	max-width: none;
}

.archf-slider-container--home-bleed {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.archf-slider {
	width: 100%;
	max-width: 100%;
	height: 100%;
	overflow: hidden !important;
}

.archf-slider .swiper-wrapper {
	box-sizing: border-box;
}

/* 슬라이드 내부 .container — 전역 container 패딩만 적용 (max-width 돌출 방지) */
.archf-slide-content-container.container {
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}

/* ── 개별 슬라이드 아이템 ── */
.archf-slide-item {
	position: relative;
	width: 100%;
	max-width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	overflow: hidden;
}

/* ── 반응형 배경 이미지 ── */
.archf-slide-picture {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden;
}

.archf-slide-bg-img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
	object-position: center;
}

/* ── 가독성을 위한 다크 오버레이 ── */
.archf-slide-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 100%);
	z-index: 2;
}

/* ── 텍스트 및 콘텐츠 레이아웃 ── */
.archf-slide-content-container {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 100%;
	pointer-events: none;
}

.archf-slide-content-inner {
	max-width: 800px;
	pointer-events: auto;
}

/* 정렬 방식 분기 */
.archf-slide-item.align-left {
	justify-content: flex-start;
	text-align: left;
}

.archf-slide-item.align-center {
	justify-content: center;
	text-align: center;
}

.archf-slide-item.align-center .archf-slide-content-inner {
	margin: 0 auto;
}

.archf-slide-item.align-right {
	justify-content: flex-end;
	text-align: right;
}

.archf-slide-item.align-right .archf-slide-content-inner {
	margin-left: auto;
}

/* ── 전역 콘텐츠 정렬 (슬라이더 옵션) ── */
.archf-slider-container--content-align-left .archf-slide-item {
	justify-content: flex-start;
	text-align: left;
}

.archf-slider-container--content-align-center .archf-slide-item {
	justify-content: center;
	text-align: center;
}

.archf-slider-container--content-align-center .archf-slide-content-inner {
	margin-left: auto;
	margin-right: auto;
}

.archf-slider-container--content-align-right .archf-slide-item {
	justify-content: flex-end;
	text-align: right;
}

.archf-slider-container--content-align-right .archf-slide-content-inner {
	margin-left: auto;
}

.archf-slider-container--content-align-left .archf-slide-content-container {
	padding-left: var(--slider-content-offset, 24px);
	padding-right: 24px;
}

.archf-slider-container--content-align-right .archf-slide-content-container {
	padding-left: 24px;
	padding-right: var(--slider-content-offset, 24px);
}

/* ── clamp() 기반 반응형 타이포그래피 — vw 대신 % 기반 보조 */
.archf-slider-container .archf-slider__title {
	font-size: clamp(2rem, 4cqi, 4.2rem);
	font-weight: var(--slider-h1-weight, 800);
	color: var(--slider-h1-color, #fff);
	line-height: 1.25;
	margin: 0 0 15px 0;
	letter-spacing: -0.02em;
}

.archf-slider-container .archf-slider__subtitle {
	font-size: clamp(1.1rem, 2.5cqi, 1.8rem);
	font-weight: var(--slider-h2-weight, 600);
	color: var(--slider-h2-color, var(--color-accent, #2e86ab));
	margin: 0 0 20px 0;
	letter-spacing: 0.02em;
}

.archf-slider__sub {
	font-size: clamp(0.95rem, 1.8cqi, 1.15rem);
	color: rgba(255, 255, 255, 0.8);
	line-height: 1.7;
	margin: 0 0 30px 0;
	font-weight: 400;
}

@supports not (font-size: 1cqi) {
	.archf-slider-container .archf-slider__title {
		font-size: clamp(2rem, 4vw, 4.2rem);
	}

	.archf-slider-container .archf-slider__subtitle {
		font-size: clamp(1.1rem, 2.5vw, 1.8rem);
	}

	.archf-slider__sub {
		font-size: clamp(0.95rem, 1.8vw, 1.15rem);
	}
}

.archf-slider__btn {
	padding: 12px 36px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.05em;
	border-radius: 4px;
	text-transform: uppercase;
	transition: all 0.3s ease;
	display: inline-block;
	text-decoration: none;
}

/* ── GSAP 제어를 위한 모션 초기 상태 (Fading) ── */
.archf-slider__title,
.archf-slider__subtitle,
.archf-slider__sub,
.archf-slider__btn {
	opacity: 0;
	transform: translateY(40px);
}

/* ── Swiper UI 오버라이드 ── */
.archf-slider .swiper-pagination {
	max-width: 100%;
	box-sizing: border-box;
}

.archf-slider .swiper-pagination-bullet {
	background: #fff;
	opacity: 0.4;
	width: 10px;
	height: 10px;
	transition: all 0.3s ease;
}

.archf-slider .swiper-pagination-bullet-active {
	opacity: 1;
	background: #fff;
	width: 30px;
	border-radius: 5px;
}

.archf-slider .swiper-button-prev,
.archf-slider .swiper-button-next {
	color: #fff;
	width: 50px;
	height: 50px;
	background: rgba(0, 0, 0, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	transition: all 0.3s ease;
}

.archf-slider .swiper-button-prev::after,
.archf-slider .swiper-button-next::after {
	font-size: 18px;
}

.archf-slider .swiper-button-prev:hover,
.archf-slider .swiper-button-next:hover {
	background: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.3);
}

/* ── 반응형 미디어쿼리 (M5-6) ── */
@media (max-width: 767px) {
	.archf-slider-container {
		height: var(--slider-height-mobile, 480px);
	}

	.archf-slide-item {
		padding: 0 20px;
	}

	.archf-slide-overlay {
		background: rgba(0, 0, 0, 0.7);
	}

	.archf-slider .swiper-button-prev,
	.archf-slider .swiper-button-next {
		display: none;
	}
}
