/* =======================================================================
   Block_4 Features — 마우스 오버 시 해당 칼럼이 확장되는 아코디언 슬라이드
   - 아이템 수에 따라 자동으로 flex 분배
   - 호버 칼럼: flex 3, 비호버: flex 1
   ====================================================================== */
.tc,.tc *{box-sizing:border-box;word-break:keep-all;overflow-wrap:break-word;}
.wpb_row:has(.tc),.vc_row:has(.tc),.wpb_text_column:has(.tc){margin-bottom:0!important;}
.tc{
	position:relative;
	width:100vw;
	max-width:100vw;
	left:50%;
	transform:translateX(-50%);
	margin:80px 0 0;
	display:flex;gap:0;height:var(--tc-section-h, 680px);overflow:hidden;
	font-family:'Noto Sans KR','Apple SD Gothic Neo',sans-serif;
}
.tc a{color:inherit;text-decoration:none;}

.tc-item{
	position:relative;flex:1;min-width:0;
	overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer;
	transition:flex .65s cubic-bezier(.25,.8,.25,1);
}

.tc-item-image{
	position:absolute;inset:0;
	background-size:cover;background-position:center center;
	transition:transform 1.4s cubic-bezier(.2,.8,.2,1);
}

.tc-item::before{
	content:"";position:absolute;inset:0;
	background:rgba(0,0,0,.18);
	transition:background .5s ease;z-index:1;
}
.tc-item::after{
	content:"";position:absolute;inset:0;
	background:var(--tc-overlay, rgba(165,127,84,.82));
	opacity:0;transition:opacity .55s ease;z-index:1;
}

/* 호버: 칼럼 폭 확장 (CSS var --tc-count 기준 일정하게 1.2배 유지) */
.tc-item:hover{flex: calc((1.2 * (var(--tc-count, 3) - 1)) / (var(--tc-count, 3) - 1.2));}
.tc:has(.tc-item:hover) .tc-item:not(:hover){flex:1;}
.tc-item:hover .tc-item-image{transform:scale(1.05);}
.tc-item:hover::before{background:rgba(0,0,0,0);}
.tc-item:hover::after{opacity:1;}

.tc-content{
	position:relative;z-index:2;text-align:center;padding:0 40px;color:#fff;max-width:100%;
}

.tc-title{
	display:block;
	font-family:var(--tc-title-font,'Noto Sans KR'),'Apple SD Gothic Neo',sans-serif!important;
	font-size:var(--tc-title-size,42px);
	font-weight:var(--tc-title-weight,400)!important;
	letter-spacing:var(--tc-title-ls,2.1px);
	line-height:var(--tc-title-lh, 1.2);
	color:#fff!important;
	margin:0!important;padding:0!important;
	text-shadow:0 2px 12px rgba(0,0,0,.22);
	transition:transform .55s cubic-bezier(.2,.8,.2,1), text-shadow .3s ease;
	white-space:nowrap;
}
.tc-item:hover .tc-title{transform:translateY(-12px);text-shadow:none;}

.tc-extra{
	max-height:0;opacity:0;overflow:hidden;
	transition:max-height .6s cubic-bezier(.2,.8,.2,1), opacity .5s ease;
}
.tc-item:hover .tc-extra{max-height:320px;opacity:1;}

.tc-divider{display:none;}

.tc-desc{
	font-family:var(--tc-desc-font,'Noto Sans KR'),'Apple SD Gothic Neo',sans-serif!important;
	font-size:var(--tc-desc-size,18px);
	font-weight:var(--tc-desc-weight,200)!important;
	line-height:var(--tc-desc-lh, 1.6);
	color:#fff!important;
	max-width:360px;margin:0 auto!important;padding:0!important;
	letter-spacing:-.005em;
}

/* 모바일 */
@media(max-width:768px){
	.tc{flex-direction:column;height:auto;}
	.tc-item{flex:0 0 auto;aspect-ratio:16/10;}
	.tc-item:hover{flex:0 0 auto;}
	.tc:has(.tc-item:hover) .tc-item:not(:hover){flex:0 0 auto;}
	.tc-title{font-size:var(--tc-title-size-mo,26px);white-space:normal;margin-bottom:10px!important;}
	.tc-desc{font-size:var(--tc-desc-size-mo,14px);}
	.tc-extra{max-height:none;opacity:1;}
	.tc-item::before{background:rgba(0,0,0,.22);}
	/* 모바일: 호버 없이 오버레이 컬러 항상 노출 (관리자 투명도 값 적용) */
	.tc-item::after{opacity:1;}
	/* 모바일: 타이틀/설명 사이 1px divider 제거 */
	.tc-divider{display:none;}
}
