/* i18n-override.css - 최종 추천 */

/* 다국어 모드 = 전체 스케일 다운 */
#lang-i18n {
	font-size: 88%; /* 12% 축소 */
	letter-spacing: -0.03em; /* 자간 축소 */

	.gnb-main-link,
	.gnb-main-list {
		height: auto !important;
	}
	.gnb-main-list {
		align-items: center;
	}

	.left-menu-nav .menu-section .menu-section-title {
		padding-left: 10px !important;
	}
	.header .lang .ctrl-tnb {
		padding: 1rem 1.875rem 1rem 2.625rem;
	}

	.wordcloud-canvas {
		overflow: auto;
	}

	.ui-table__badge {
		word-break: keep-all !important;
	}

	.program-card__index {
		width: auto !important;
	}

	.program-detail {
		flex-direction: column !important;
	}

	.history-timeline__event,
	.subtab-container.library-directions-subtab .subtab-item {
		flex-direction: column !important;
	}

	.filter-badge {
		display: none !important;
	}

	/* 모든 w-숫자 패턴 한방에 */
	/* 모바일 전용 클래스도 */
	#lang-i18n [class*='-mobile-'],
	#lang-i18n [class*='mobile-'] {
		width: auto !important;
		height: auto !important;
	}

	.w-auto {
		width: auto !important; /* 이것도 유지 */
	}

	.title-with-badge {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	@media (max-width: 900px) {
		.selected-filters-container {
			display: flex;
			flex-direction: column;
		}
	}

	

	.footer__content .related-site-button{
		padding: 0 12px !important;
	}

	.holiday-notice__legends{
		flex-direction: column;
	}

	.breadcrumb .breadcrumb-list .breadcrumb-item .breadcrumb-current{
		white-space: nowrap;
		text-overflow: clip;
	}
	.breadcrumb .breadcrumb-list .breadcrumb-item{
		max-width: none!important;
	}
	.gnb-container{
		padding: 8px 0;
	}
	.quick-link__text{
		line-height: 1.5;
	}
	.search-type-tabs .ui-tab__button{
		    flex-direction: column;
    padding: 8px 12px;
    height: auto;
		max-height: 72px;
	}
	.ui-tab__label{
		height: 100%;
	}
}

#lang-i18n .banner {
	overflow-y: hidden;
	height: auto;
	padding: 20px 0;
}

#lang-i18n .search-tabs__tab {
	width: auto !important;
}

#lang-i18n .event-section .event-section__left .event-card__info-item {
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}

/* ============================================
   Flex 레이아웃 오버플로우 방지
   ============================================ */

/* 모든 flex 컨테이너에 적용 - 아이템이 범위를 벗어나지 않도록 */

/* 텍스트 줄바꿈 허용 */
#lang-i18n {
	word-break: break-word; /* 한글/영어 단어 단위 줄바꿈 */
	overflow-wrap: break-word; /* 긴 단어는 강제 줄바꿈 */
}

/* 특정 요소는 필요시 강제 줄바꿈 */
#lang-i18n button,
#lang-i18n .button,
#lang-i18n a,
#lang-i18n span {
	word-break: break-word;
	white-space: normal; /* 줄바꿈 허용 */
}

/* ============================================
   버튼 및 네비게이션 아이템
   ============================================ */



/* 탭 네비게이션 - 가변 너비 */
#lang-i18n [class*='tab'],
#lang-i18n [class*='nav'] {
	flex-shrink: 1; /* 공간이 부족하면 축소 */
}

/* ============================================
   카드 및 리스트 아이템
   ============================================ */

/* 카드 내부 flex 아이템 */
#lang-i18n [class*='card__'],
#lang-i18n [class*='item__'] {
	min-width: 0;
	flex-shrink: 1;
}

/* 카드 타이틀 - 말줄임 또는 줄바꿈 */
#lang-i18n [class*='__title'],
#lang-i18n [class*='__name'] {
	word-break: keep-all;
	overflow-wrap: break-word;
}

/* 메타 정보 flex 레이아웃 */
#lang-i18n [class*='__meta'],
#lang-i18n [class*='__info'] {
	flex-wrap: wrap; /* 공간 부족시 줄바꿈 */
	gap: 4px 8px; /* 간격 조정 */
}

/* ============================================
   테이블 레이아웃 관리
   ============================================ */

/* 테이블 기본 설정 - colgroup 너비 유지 */
#lang-i18n table {
	table-layout: auto !important;
	width: auto !important;
	min-width: 100% !important; /* 최소 너비는 100% */
}

/* 테이블 셀 텍스트 처리 */
#lang-i18n td,
#lang-i18n th {
	word-break: keep-all;
	overflow-wrap: break-word;
	white-space: normal; /* 줄바꿈 허용 */
}

/* ============================================
   반응형 조정 (필요시)
   ============================================ */

/* 모바일 환경에서 추가 축소 */
@media (max-width: 900px) {
	#lang-i18n {
		font-size: 85%; /* 모바일에서 15% 축소 */
	}

	/* 모바일에서 flex 아이템 세로 정렬 */
	#lang-i18n [class*='__row'],
	#lang-i18n .flex-row {
		flex-direction: column;
		align-items: flex-start;
	}
}
