/* =========================================================
   Certification Section
   - 모바일 가로스크롤 방지
   - PC hover 확대 유지
   - Swiper 영역 안정화
========================================================= */

*,
*::before,
*::after {
	box-sizing: border-box;
}


/* 섹션 자체가 모바일에서 화면 밖으로 밀리지 않도록 처리 */
#certification {
	max-width: 100%;
	overflow: hidden !important;
}

/* 배경 영역 */
.certificationSwiperContainer {
	background-image: url('/images/certification-img.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: repeat-x;
	position: relative;

	width: 100%;
	max-width: 100%;
	overflow: hidden !important;
}

/* Swiper 본체 */
.certificationSwiper {
	width: 100%;
	max-width: 100%;

	/*
		기존 padding: 60px 30px 140px 30px;
		모바일에서 width 100% + 좌우 padding 때문에 가로스크롤이 생길 수 있어
		좌우 padding은 제거하고 내부 slide padding으로 처리
	*/
	padding: 50px 0 120px 0;
	overflow: hidden !important;
}

/* Swiper wrapper */
.certificationSwiper .swiper-wrapper {
	align-items: center;
}

/* 각 슬라이드 */
.certificationSwiper .swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
	height: auto;
	position: relative;
	z-index: 1;

	/*
		슬라이드 내부 여백으로 그림자 여유 확보
		단, 모바일에서는 확대 효과를 끄기 때문에 과한 여백 불필요
	*/
	padding: 30px 12px 50px 12px;
	overflow: visible;
}

/* 이미지 */
.certificationSwiper .swiper-slide img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	background-color: #fff;
	cursor: pointer;
	transition:
		transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
		box-shadow 0.4s ease;
}

/* PC에서만 hover 확대 적용 */
@media (hover: hover) and (pointer: fine) and (min-width: 1024px) {
	#certification {
		overflow: visible !important;
	}

	.certificationSwiperContainer,
	.certificationSwiper,
	.certificationSwiper .swiper-wrapper,
	.certificationSwiper .swiper-slide {
		overflow: visible !important;
	}

	.certificationSwiper .swiper-slide:hover {
		z-index: 30;
	}

	.certificationSwiper .swiper-slide:hover img {
		transform: scale(1.15) translateY(-10px);
		box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
		transform-origin: center top;
	}
}

/* 모바일 최적화 */
@media (max-width: 767px) {
	#certification {
		margin-left: 20px;
		margin-right: 20px;
		max-width: calc(100% - 40px);
		overflow: hidden !important;
		border-radius: 40px;
	}

	.certificationSwiperContainer {
		overflow: hidden !important;
	}

	.certificationSwiper {
		padding: 30px 0 70px 0;
		overflow: hidden !important;
	}

	.certificationSwiper .swiper-wrapper {
		overflow: visible;
	}

	.certificationSwiper .swiper-slide {
		padding: 10px 16px 30px 16px;
		overflow: hidden;
	}

	.certificationSwiper .swiper-slide img {
		width: 100%;
		max-width: 280px;
		margin: 0 auto;
	}

	/* 모바일에서는 hover 확대 제거 */
	.certificationSwiper .swiper-slide:hover img {
		transform: none;
		box-shadow: none;
	}
}