/* 유원시스템즈 홈페이지 커스텀 스타일 (Color Admin Corporate 위에 덧씌움) */

/* 브랜드 컬러 : 로고 그린 #71BE47 (RGB 113,190,71), 로고 그레이 #717C99 */
:root, [data-bs-theme=light] {
	--yw-green: #71be47;
	--yw-green-dark: #5a9f36;
	--yw-gray: #717c99;
	--bs-primary: #71be47;
	--bs-primary-rgb: 113,190,71;
	--bs-link-color: #4f8f2f;
	--bs-link-color-rgb: 79,143,47;
	--bs-link-hover-color: #3f7425;
	--bs-link-hover-color-rgb: 63,116,37;
	--bs-app-theme: #71be47;
	--bs-app-theme-rgb: 113,190,71;
	--bs-app-theme-hover: #5a9f36;
	--bs-app-theme-hover-border-color: #5a9f36;
	--bs-app-theme-active: #5a9f36;
	--bs-app-theme-active-border-color: #5a9f36;
}
.btn-primary {
	--bs-btn-bg: #71be47; --bs-btn-border-color: #71be47;
	--bs-btn-hover-bg: #5a9f36; --bs-btn-hover-border-color: #5a9f36;
	--bs-btn-active-bg: #4f8f2f; --bs-btn-active-border-color: #4f8f2f;
	--bs-btn-focus-shadow-rgb: 113,190,71;
	--bs-btn-disabled-bg: #71be47; --bs-btn-disabled-border-color: #71be47;
}
.btn-primary:hover, .btn-primary:focus { background: var(--yw-green-dark); }
.bg-primary { background-color: #71be47 !important; }
.text-primary { color: #4f8f2f !important; }
#page-loader .spinner, .spinner { border-top-color: #71be47; }

/* 네이버 지도 버튼 */
.btn-naver { background: #03C75A; border-color: #03C75A; color: #fff; }
.btn-naver:hover, .btn-naver:focus { background: #02b350; border-color: #02b350; color: #fff; }

body, .tooltip, .popover {
	font-family: 'Noto Sans KR', 'Open Sans', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
}
/* 한글 단어 중간 줄바꿈 방지 */
body, h1, h2, h3, h4, h5, h6, p, li, td, th, a, span, div,
.hero-title, .section-title, .display-6, .news-title {
	word-break: keep-all;
	overflow-wrap: break-word;
}
.nowrap { white-space: nowrap; }

/* 현재 메뉴 표시 */
.header-nav-item.active .header-nav-link { color: var(--bs-app-theme); }

/* 공통 페이지 배너 */
.page-banner { padding-top: 4rem; padding-bottom: 4rem; }
.page-banner .page-banner-desc { font-size: 1.0625rem; opacity: .85; margin-top: .75rem; }

/* 사업분야 카드 */
.biz-card { height: 100%; transition: transform .2s, box-shadow .2s; }
.biz-card:hover { transform: translateY(-4px); }
.biz-icon {
	width: 54px; height: 54px; border-radius: .75rem;
	display: flex; align-items: center; justify-content: center;
	color: #fff; font-size: 1.5rem; margin-bottom: 1rem;
}

/* 강점 리스트 */
.strength-item { display: flex; margin-bottom: 1.75rem; }
.strength-item .strength-icon {
	flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%;
	background: rgba(var(--bs-app-theme-rgb), .12); color: var(--bs-app-theme);
	display: flex; align-items: center; justify-content: center; margin-inline-end: 1rem;
}
.strength-item h5 { font-weight: 700; margin-bottom: .35rem; }
.strength-item p { margin-bottom: 0; color: var(--bs-gray-600); }

/* 사업분야 상세 */
.biz-detail { padding-top: 3.5rem; padding-bottom: 3.5rem; border-bottom: 1px solid rgba(0,0,0,.06); scroll-margin-top: 80px; }
.biz-detail:last-child { border-bottom: 0; }
.biz-detail img { border-radius: .75rem; width: 100%; height: 320px; object-fit: cover; }
.biz-detail ul { padding-left: 1.1rem; }
.biz-detail li { margin-bottom: .4rem; }
.biz-label { font-weight: 700; color: var(--bs-app-theme); letter-spacing: .05em; font-size: .8125rem; }

/* 회사 개요 테이블 */
.overview-table th { width: 30%; background: var(--bs-light); font-weight: 700; }
.overview-table th, .overview-table td { padding: .9rem 1rem; }

/* 연혁 */
.history-list { list-style: none; padding: 0; margin: 0; border-left: 2px solid rgba(var(--bs-app-theme-rgb), .3); }
.history-list li { position: relative; padding: 0 0 1.5rem 1.75rem; }
.history-list li:before {
	content: ""; position: absolute; left: -7px; top: 6px; width: 12px; height: 12px;
	border-radius: 50%; background: var(--bs-app-theme);
}
.history-year { font-weight: 900; font-size: 1.125rem; margin-bottom: .25rem; }

/* 연락처 */
.contact-card { height: 100%; }
.contact-card .contact-icon { font-size: 1.5rem; color: var(--bs-app-theme); margin-bottom: .75rem; }

/* CTA */
.cta-section .cta-title { font-size: 1.875rem; font-weight: 900; }

/* 로고/헤더 반응형 보정 */
.header .header-logo .logo-link { white-space: nowrap; }
@media (max-width: 575.98px) {
		.hero-title { font-size: 2rem; }
}
.header .header-nav .header-nav-item.active .header-nav-link { color: var(--bs-app-theme) !important; }

/* v2 : 이미지 로고 */
.header .header-logo .logo-link .header-logo-img { height: 34px; width: auto; display: block; }
.footer .footer-logo .footer-logo-img { height: 52px; width: auto; display: block; }
.footer-info a { color: inherit; }
.footer-info .info-value a { font-size: inherit; font-weight: inherit; }
/* v4 : 푸터 회사정보 - 항목명/내용 2열 정렬 (줄바꿈 시 내용 시작 위치에 맞춰 내어쓰기) */
.footer-info .info-row { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); column-gap: .5rem; align-items: baseline; font-size: .875rem; line-height: 1.6; }
.footer-info .info-label { color: rgba(var(--bs-component-color-rgb), .55); font-weight: 600; white-space: nowrap; }
.footer-info .info-value { min-width: 0; }
.footer-info .footer-bizno { grid-template-columns: max-content minmax(0, 1fr); font-size: .75rem; opacity: .75; margin-top: .35rem; }
.footer-info .footer-bizno .info-label { font-weight: 400; }
@media (max-width: 575.98px) {
	.header .header-logo .logo-link .header-logo-img { height: 28px; }
}

/* 교통편 */
.transit-list { padding-left: 1.1rem; margin-bottom: 1rem; }
.transit-list li { margin-bottom: .4rem; }
.map-frame iframe { border: 0; border-radius: .75rem; }

/* v7 : 상단 고정 헤더 + 스크롤 시 축소 */
:root { --yw-header-h: 90px; --yw-header-h-sm: 64px; --yw-logo-h: 34px; --yw-logo-h-sm: 28px; }
@media (max-width: 991.98px) { :root { --yw-header-h: 62px; --yw-header-h-sm: 54px; } }
@media (max-width: 575.98px) { :root { --yw-logo-h: 28px; --yw-logo-h-sm: 24px; } }
body { padding-top: var(--yw-header-h); }
.header { position: fixed; top: 0; left: 0; right: 0; z-index: 1030; transition: box-shadow .3s ease; }
.header .header-logo { height: var(--yw-header-h); transition: height .3s ease; }
.header .header-logo .logo-link .header-logo-img { height: var(--yw-logo-h); transition: height .3s ease; }
.header .header-mobile-nav-toggler { height: var(--yw-header-h); transition: height .3s ease; }
@media (min-width: 992px) { .header .header-nav { height: var(--yw-header-h); transition: height .3s ease; } }
@media (max-width: 991.98px) { .header .header-nav { top: var(--yw-header-h); transition: top .3s ease; } }
.header.is-scrolled { --yw-header-h: var(--yw-header-h-sm); --yw-logo-h: var(--yw-logo-h-sm); box-shadow: 0 0 0 1px rgba(32,37,42,.06), 0 6px 18px rgba(32,37,42,.08); }
/* 앵커 이동 시 고정 헤더에 가려지지 않도록 */
[id] { scroll-margin-top: calc(var(--yw-header-h-sm) + 24px); }
@media (prefers-reduced-motion: reduce) { .header, .header * { transition: none !important; } }
/* v7 : 상단 메뉴 글자 크기 */
.header .header-nav .header-nav-item .header-nav-link { font-size: 1.0625rem; font-weight: 600; white-space: nowrap; transition: font-size .3s ease; }
@media (min-width: 992px) {
	.header .header-nav .header-nav-item .header-nav-link { font-size: 1.125rem; }
	.header.is-scrolled .header-nav .header-nav-item .header-nav-link { font-size: 1.0625rem; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
	.header .header-nav .header-nav-item .header-nav-link { padding-left: .75rem; padding-right: .75rem; }
}
@media (max-width: 991.98px) {
	.header.header-default .header-nav { background: var(--bs-component-bg); box-shadow: 0 10px 20px rgba(32,37,42,.08); border-top: 1px solid rgba(32,37,42,.06); }
	.header .header-nav .header-nav-item .header-nav-link { padding-top: .65rem; padding-bottom: .65rem; }
}

/* v8 : 사업분야 우측 목차 (business 전용, 1200px 이상) */
.biz-toc { position: sticky; top: calc(var(--yw-header-h-sm) + 2rem); margin-top: 3.5rem; }
.biz-toc-title { font-size: .75rem; font-weight: 700; letter-spacing: .08em; color: rgba(var(--bs-component-color-rgb), .45); margin-bottom: .75rem; padding-left: 1rem; }
.biz-toc-list { list-style: none; margin: 0; padding: 0; border-left: 1px solid rgba(32,37,42,.12); }
.biz-toc-link { display: block; position: relative; padding: .4rem 0 .4rem 1rem; margin-left: -1px; border-left: 2px solid transparent; font-size: .875rem; line-height: 1.45; color: rgba(var(--bs-component-color-rgb), .5); text-decoration: none; transition: color .2s, border-color .2s; }
.biz-toc-link .nowrap { white-space: normal; }
.biz-toc-link:hover { color: rgba(var(--bs-component-color-rgb), .85); }
.biz-toc-link.active { color: var(--bs-component-color); font-weight: 700; border-left-color: var(--bs-app-theme); }
