/* 캐러셀 레이아웃 */
	.carousel-wrap {
		position: relative;
		margin: 40px auto 140px;
		width: 85%;
		max-width: 1400px;
		padding: 0 60px;
	}

	.carousel-slider {
		transform: none;
	}

	.carousel-slider .slick-slide {
		padding: 0 10px;
	}

	.carousel-slider .slick-list {
		margin: 0 -10px;
	}

	/* 이미지 라운드 및 호버 효과 */
	.flip-container {
		border-radius: 20px;
		overflow: hidden;
		perspective: 1000px;
		cursor: pointer;
	}

	.flip-card-inner {
		position: relative;
		width: 100%;
		height: auto;
		transition: transform 0.6s;
		transform-style: preserve-3d;
	}

	.flip-card-front,
	.flip-card-back {
		width: 100%;
		height: auto;
		display: block;
		backface-visibility: hidden;
		border-radius: 20px;
	}

	.flip-card-front {
		position: relative;
	}

	.flip-card-back {
		position: absolute;
		top: 0;
		left: 0;
		transform: rotateY(180deg);
	}

	.flip-container.flipped .flip-card-inner {
		transform: rotateY(180deg);
	}

	/* 화살표 스타일 수정 (이미지 사용) */
	.slick-prev,
	.slick-next {
		width: 40px;
		height: 40px;
		z-index: 100;
		top: 50%;
		transform: translateY(-50%);
		background-color: transparent;
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
	}

	.slick-prev {
		left: -64px;
		background-image: url('/assets/images/common/pc/arrow_left.png');
		}

	.slick-next {
		right: -64px;
		background-image: url('/assets/images/common/pc/arrow_right.png');
	}

	.slick-prev:before,
	.slick-next:before {
		content: none;
	}

	.slick-prev:hover,
	.slick-prev:focus {
		opacity: 1 !important;
		filter: none !important;
		background: transparent url('/assets/images/common/pc/arrow_left.png') center center no-repeat !important;
		background-size: contain !important;
	}

	.slick-next:hover,
	.slick-next:focus {
		opacity: 1 !important;
		filter: none !important;
		background: transparent url('/assets/images/common/pc/arrow_right.png') center center no-repeat !important;
		background-size: contain !important;
	}

	/* 하단 트랙 스타일 (슬림하게 수정) */
	.carousel-track-wrap {
		margin-top: 40px;
		width: 98%;
		left: 0.8%;
		position: absolute;
	}

	.carousel-track {
		width: 100%;
		height: 2px;
		background: #ececec;
		border-radius: 2px;
		overflow: hidden;
		position: relative;
	}

	.carousel-track-progress {
		position: absolute;
		height: 100%;
		top: 0;
		left: 0;
		width: 0;
		background: #4c1500;
		transition: width .6s ease-out;
	}

	/* 인터렉티브: 의료진 소개 + map box */
	.reveal-item {
		opacity: 0;
		transform: translateY(30px) scale(0.985);
		transition: transform .7s cubic-bezier(0.22, 1, 0.36, 1), opacity .7s ease-out;
	}

	.reveal-item.visible {
		opacity: 1;
		transform: translateY(0) scale(1);
		/**box-shadow: 0 14px 35px rgba(0, 0, 0, 0.15);*/
	}

	.reveal-item .fade-in {
		opacity: 0;
		transform: translateY(20px);
		transition: transform .7s ease-out, opacity .7s ease-out;
	}

	.reveal-item.visible .fade-in {
		opacity: 1;
		transform: translateY(0);
	}

	.map-box {
		transition: transform .4s ease, box-shadow .4s ease;
		cursor: pointer;
	}

	.map-box:hover {
		transform: scale(1.06);
		box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
	}

	.pa.turn_infinity {
		position: absolute;
		top: 61.5%;
		right: 45%;
		width: 4.5%;
	}

	.academic-wrap {
		position: relative;
		width: 100%;
		margin: 0 auto;
	}

	.academic-wrap .academic-bg {
		width: 100%;
		display: block;
	}

	.academic-overlay {
		position: absolute;
		top: 20vw;
		left: 50%;
		width: 80%;
		max-width: 1440px;
		transform: translateX(-50%);
		height: auto;
		pointer-events: none;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 2.5%;
		justify-items: center;
	}

	.academic-overlay .academic-item {
		position: relative;
		display: block;
		width: 100%;
		pointer-events: auto;
		transition: transform 0.25s ease, filter 0.25s ease;
	}

	.academic-overlay .academic-item:hover {
		transform: scale(1.05);
		filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.15));
	}

	/* 진료실 슬라이더 스타일 */
	.room-caption_wrap {
		width: 70%;
		margin: 0 auto;
	}

	.room-slider-section {
		width: 100%;
		overflow: hidden;
		padding: 0; /* 하단 패딩을 0으로 비웁니다 */
		background: #fff;
		margin-bottom:50px;
	}

	/* 2. [핵심] Swiper 자체 하단에 안쪽 여백(패딩)을 직접 주어 박스 크기 자체를 늘려줍니다. */
	.room-swiper {
		overflow: visible;
		padding-bottom: 80px !important; /* 도트가 들어갈 넉넉한 안쪽 공간을 만듭니다 */
	}

	.room-swiper .swiper-wrapper {
		align-items: center;
	}

	/* [주의] 외부 슬라이드 박스는 레이아웃 순서(z-index)만 제어합니다. */
	.room-swiper .swiper-slide {
		width: 85% !important;
		outline: none;
		position: relative;
		z-index: 1;
		transition: z-index 0.6s;
	}

	/* 활성 슬라이드는 가장 위로 오게 처리 */
	.room-swiper .swiper-slide-active {
		z-index: 10 !important;
	}

	/* ==========================================
	   [개선] 중앙 이미지가 삐져나와 잘리는 현상을 막기 위해,
	   가운데를 키우는 대신 양옆 크기를 58% 크기(scale 0.58)로 더 줄입니다.
	   ========================================== */
	.room-swiper .swiper-slide .room-img-box {
		transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
		transform: scale(0.85); /* 양옆 기본 크기 대폭 축소 */
		filter: brightness(0.2);
		opacity: 0.8;
	}

	/* 좌측 슬라이드가 작아진 만큼 중앙으로 더 밀착시켜 포갭니다. */
	.room-swiper .swiper-slide-prev .room-img-box {
		transform: translateX(32%) scale(0.85); /* 끌어당기는 힘 강화 */
	}

	/* 우측 슬라이드가 작아진 만큼 중앙으로 더 밀착시켜 포갭니다. */
	.room-swiper .swiper-slide-next .room-img-box {
		transform: translateX(-32%) scale(0.85); /* 끌어당기는 힘 강화 */
	}

	/* 
	   정중앙 활성 슬라이드는 부모 영역의 최대 높이인 1(100%)을 유지합니다. 
	   영역을 넘지 않기 때문에 위아래 잘림 현상이 완벽하게 해결됩니다. 
	*/
	.room-swiper .swiper-slide-active .room-img-box {
		transform: scale(1) translateX(0); /* 정규 규격 100% 사이즈 적용 */
		filter: brightness(1);
		opacity: 1;
	}

	.room-img-box img {
		width: 100%;
		display: block;
	}

	/* 블루 캡션 바 스타일 */
	.room-caption {
		display: none;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		background: rgba(43, 56, 114, 0.95);
		color: #fff;
		text-align: center;
		font-size: 28px;
		font-weight: 500;
		opacity: 0;
		transition: opacity 0.4s;
		padding: 15px 0;
	}



	/* --- 화살표 위치 및 디자인 유지 --- */
	.room-swiper .swiper-button-prev,
	.room-swiper .swiper-button-next {
		position: absolute;
		top: 43%;
		transform: translateY(-50%);
		width: 60px;
		height: 60px;
		z-index: 100;
		background: transparent;
		margin-top: 0;
	}

	.room-swiper .swiper-button-prev {
		left: 2%;
	}
	.room-swiper .swiper-button-next {
		right: 2%;
	}

	/* Swiper 기본 아이콘 숨김 */
	.room-swiper .swiper-button-prev::after,
	.room-swiper .swiper-button-next::after {
		display: none;
	}

	/* 원래 사용하시던 두꺼운 흰색 꺾쇠 스타일 이식 */
	.room-swiper .swiper-button-prev:before,
	.room-swiper .swiper-button-next:before {
		content: '';
		display: block;
		width: 25px;
		height: 25px;
		border-top: 3px solid #fff;
		border-left: 3px solid #fff;
	}

	.room-swiper .swiper-button-prev:before {
		transform: rotate(-45deg);
		margin-left: 10px;
	}

	.room-swiper .swiper-button-next:before {
		transform: rotate(135deg);
		margin-left: 10px;
	}

	.room-swiper .swiper-button-prev:hover,
	.room-swiper .swiper-button-prev:focus,
	.room-swiper .swiper-button-next:hover,
	.room-swiper .swiper-button-next:focus {
		opacity: 1 !important;
		filter: none !important;
		background-color: transparent !important;
		outline: none;
	}

	/* --- 도트 스타일 이식 --- */

	.room-swiper .swiper-pagination {
		bottom: 20px !important; /* 하단 패딩 안쪽 공간(20px 지점)에 안전하게 위치시킵니다 */
		z-index: 100 !important; /* 최상단 레이어로 지정 */
		width: 100%;
		text-align: center;
	}

	/* 도트 기본 스타일 */
	.room-swiper .swiper-pagination-bullet {
		width: 12px;
		height: 12px;
		margin: 0 6px !important;
		background: #000;
		opacity: 0.25;
		border-radius: 50%;
		display: inline-block;
		cursor: pointer;
		transition: all 0.3s;
	}

	/* 활성 상태 오리지널 브라운 칼라 적용 */
	.room-swiper .swiper-pagination-bullet-active {
		background: #4c1500 !important;
		opacity: 1;
	}