



.proListWrap {
	margin-top:12.5rem;
}
.listBanner {
    width: 100%;
    position: relative;
}

.listBanner img {
	width:100%;
	height:auto;
}


.listBannerTxt {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 80%;
    color: #000;
    transform: translate(-50%,-50%);
}
.listBannerTxt p {color: #000; word-break:keep-all;}

.listBannerTxt p.lineNum {
	font-weight: 400;
	color: #fff;
	font-size: 2.3rem;
	letter-spacing: -0.02em;
	padding: 0.7rem 4rem;
	background: #f0454c;
	border-radius: 6rem;
	overflow: hidden;
	text-align: center;
	display: inline-block;
}

.bannerTitle {
    color: #3c3c3c;
    font-size: 5rem;
    letter-spacing: -0.03em;
    line-height: 1.06;
    margin-top: 4.5rem;
    text-align: left;
    font-weight: 600;
}


.bannerTxt {
    color: #220909;
    font-weight: 300;
    font-size: 2.4rem;
    line-height: 1.375;
    margin-top: 5.2rem;
	letter-spacing:-0.025em;
	word-break: keep-all;
}
@media (max-width:1000px) {
	.bannerTitle {margin-top:2.5rem;}
	.bannerTxt {margin-top:2.5rem;}
}

@media (max-width:768px) {
	
	.proListWrap {margin-top: 18.23vw;}

	.listBannerTxt {
		left: 7.81vw;
		top: 10.42vw;
		width: 85%;
		transform: translate(0%, 0%);
	}
	
	.listBannerTxt p.lineNum {font-size: 3.39vw; padding: 1.82vw 3.52vw;}
	.bannerTitle {font-size: 6.51vw; margin-top: 5.86vw;}
	.bannerTxt {font-size: 3.13vw; margin-top: 6.77vw;}
}



/* 제품 리스트 */
.hListWrap {margin:12rem 0 0 0;}
.hLisInner {
	width:100%;
	max-width:180rem;
	padding:0 2rem;
	margin:0 auto;
}

.hList {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.hList li {
    width: calc(100%/4 - 1.1rem);
    background: #f8f8f8;
    border-radius: 1.5rem;
    overflow: hidden;
    position: relative;
    margin: 2.4rem  0.55rem;
    padding: 0;
    height: 0;
    padding-bottom: 32.671%;
}

.hList li a {
    display: inline-block;
    width: 100%;
    height: 100%;
    position: absolute;
}
.proListName {
    width: 80%;
    padding: 0 10px;
    font-size: 2.4rem;
    letter-spacing: -0.01em;
    text-align: center;
    color: #1e1e1e;
    position: absolute;
    bottom: 4.4rem;
    /* margin-bottom: 4.4rem; */
    word-break: keep-all;
    /* margin: 0 auto; */
    line-height: 1.2;
    left: 50%;
    transform: translateX(-50%);
}

.proPopInner {
    display: flex;
    align-items: center;
}
.proPopLeft, .proPopRight {width:50%;}

.proPopLeft {
    display: flex;
    justify-content: center;
    align-items: center;
}

.proPopRight {width: 47%;}


.proPopLeft img {width:100%; height:auto;}
.proThumImg {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 50%;
    top: 48%;
    transform: translate(-50%,-50%);
    width: 115%;
}

.proThumImg img {
	width:100%;
	height:auto;
}



/* ✅ WRAP: display는 JS가 show/hide로 제어하고, CSS는 트랜지션만 */
.line-popup-wrap{
    position: fixed;
    inset: 0;
    z-index: 9999;

    /* show/hide 대신 아래로 제어 (자연스러운 애니메이션) */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition: opacity .28s ease, visibility 0s linear .28s;
}

/* ✅ 열릴 때 */
.line-popup-wrap.on{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transition: opacity .28s ease, visibility 0s;
}

/* ✅ 배경 페이드 */
.line-popup-bg{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);

    opacity: 0;
    transition: opacity .28s ease;
}
.line-popup-wrap.on .line-popup-bg{
    opacity: 1;
}

/* ✅ 팝업 본체: 살짝 위로 올라오며 나타나기 */
.line-popup{
    position: absolute;
    top: 50%;
    left: 50%;
	width:min(90%, 920px);
    background: #fff;
    padding:8rem 1.9rem;
    overflow-y: auto;

    transform: translate(-50%, calc(-50% + 18px)) scale(.98);
    opacity: 0;
    transition: transform .32s ease, opacity .32s ease;
    will-change: transform, opacity;
}

.line-popup-wrap.on .line-popup{
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
}

/* ✅ 닫기 버튼은 그대로 */
.line-popup-close{
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    border: none;
    background: none;
    font-size: 4.3rem;
    cursor: pointer;
    line-height: 3rem;
    color: #464646;
}

/* 🔒 모션 줄이기 선호 사용자 대응 */
@media (prefers-reduced-motion: reduce){
  .line-popup-wrap,
  .line-popup-bg,
  .line-popup{transition: none !important;}
}




.line-close {
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    border: none;
    background: none;
    font-size: 4.3rem;
    cursor: pointer;
    line-height: 3rem;
    color: #464646;
}

.line-popup-body h2 {font-size: 20px; margin-bottom: 12px;}
.proPopTBox {display: flex; margin-top: 2.5rem;}
.proPopInner p {
	color: #272727!important;
    /*color: #575757!important;
	font-weight: 300;*/
    letter-spacing: -0.025em;
    font-size: 1.6rem;
    line-height: 1.2;
    font-weight: 400;
    word-break: keep-all;
}


.proPopInner p.proPopName {
    color: #fff!important;
    font-size: 2rem;
    letter-spacing: -0.02em;
    background: #253d68;
    padding: 1.1rem 1.6rem;
    display: inline-block;
    line-height: 1;
	font-weight:500;
}

.proPopInner p.proPopTB {
    font-weight: 500;
    padding-right: 0.5rem;
}

.proPopImg {
    width: 45rem;
    height: auto;
}
.pInqBtn {
    padding: 0.9rem 2.1rem;
    background: #f14950;
    border-radius: 0;
    display: inline-block;
    margin-top: 2.6rem;
}
.pInqBtn .pInqBtnT {
    color: #fff!important;
    font-size: 1.6rem;
    font-weight: 600;
    display: inline;
}


/* 로딩 중엔 팝업 본문을 안 보이게 */
.line-popup-wrap.loading .line-popup { opacity: 0; transform: translate(-50%, calc(-50% + 18px)) scale(.98); }

/* 간단 스피너(원하면 삭제 가능) */
.line-popup-wrap .popup-loading {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none;
  opacity:0;
  transition:opacity .2s ease;
}
.line-popup-wrap.loading .popup-loading { opacity:1; }

.popup-loading::after{
  content:"";
  width:28px; height:28px;
  border:3px solid rgba(0,0,0,.2);
  border-top-color: rgba(0,0,0,.7);
  border-radius:50%;
  animation:spin .7s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg);} }



@media (max-width:768px) {
	.hListWrap {
		margin: 3.52vw 0 0 0;
	}
	.hList li {
		width: calc(100%/2 - 1.18vw);
		border-radius: 1.95vw;
		margin: 2.93vw 0.59vw;
		padding: 0;
		height: auto;
		padding-bottom: 0;
	}

	.hList li a {
		display: inline-block;
		width: 100%;
		height: 100%;
		position: relative;
	}

		
	.proThumImg {
		display: flex;
		justify-content: center;
		align-items: center;
		position: unset;
		left: unset;
		top: unset;
		transform: unset;
		width: 100%;
		padding-bottom: 3.91vw;
	}
	
	.proListName {
		width: 100%;
		font-size: 2.60vw;
		letter-spacing: -0.01em;
		text-align: center;
		color: #1e1e1e;
		position: absolute;
		bottom: 3.65vw;
		/* margin-bottom: 4.4rem; */
	}
	
	.proPopInner {
		display: flex;
		align-items: center;
		flex-direction: column;
	}

	.proPopLeft, .proPopRight {width: 100%!important;}
	
	
	.line-popup {
		height: 70vh;
		padding: 2rem 1.9rem;
	}
	
	.line-popup-close {
		position: fixed;
		top: 2vw;
		right: 3vw;
		border: none;
		background: none;
		font-size: 24px;
		cursor: pointer;
	}
	
	.pInqBtn {
		padding: 3.91vw 6.51vw;
		background: #f14950;
		border-radius: 14.6vw;
		display: inline-block;
		margin-top: 16.93vw;
	}
	
	.proPopInner p.proPopName {
		
		width: 100%;
		text-align: center;
	}

}

.inqContMovBox {
	width: 100%;
	background: #FFF;
	height: 0;
	padding-bottom: 35.06%;
	position: relative;
	border-radius: 5rem;
	overflow: hidden;
}

.inqContMovBox video {
	position: absolute;
	width: 100%;
	height: auto;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}


.inqContMovBox::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	background: rgba(0,0,0,0.25);
	z-index: 1;
}
.inqBannerTBox {
	width: 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	padding: 0 18rem;
	z-index: 1;
}

.inqBTitle {
	color:#fff;
	font-size:6rem;
	font-weight:600;
}
.inqSTxt {
	color:#fff;
	font-size:2.6rem;
	font-weight:300;
	margin-top:6.5rem;
}

.iframe-loader {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 400px;
	background: #f8f9fa;
}

.spinner {
	border: 4px solid #f3f3f3;
	border-top: 4px solid #3498db;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}


.iframe_size {
	opacity: 0;
	transition: opacity 0.3s ease-in;
}

.iframe_size.loaded {
	opacity: 1;
}


.inqFormInner {
	display: flex;
	margin-top:18rem;
}

.inqCont {
	width: 100%;
	max-width: 180rem;
	padding: 0 2rem;
	margin: 0 auto;
}

.inqLeft {
	width: 50%;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
	
.contactImg {
	width: 56rem;
}

.inqLeft img {width:100%; height:auto;}

.inqRight {
	width: 50%;
	max-width: 715px;
	padding-left: 30px;
}
	

.cusQInner {
	max-width: 685px;
}


	
@media (max-width:768px) {
	.inqCont {padding:0 3.91vw;}
	.inqLeft, .inqRight {width:100%;}
	.inqLeft {display:none!important;}
	.inqBannerTBox {
		top: unset;
		transform:unset;
		bottom: 11.72vw;
		padding: 0 3.91vw;
	}


	.inqBTitle {font-size: 7.81vw; font-weight: 600;}
	.inqSTxt {font-size: 3.39vw; margin-top: 5.08vw;}

	.inqRight {width: 100%; max-width: 715px; padding-left: 0;}
	.inqContMovBox {padding-bottom: 77.9%; border-radius: 6.51vw; overflow: hidden;}
	.inqContMovBox video {width: auto; height: 105%;}
	
	.inqFormInner {
		display: flex;
		margin-top: 12.24vw;
		flex-direction: column;
	}	
}



#sch_result {
	width:100%;
	max-width:180rem;
	padding:0 2rem;
	margin:0 auto;
}




