/**
 * 회사소개 페이지 스타일시트
 * 버전: 1.2.0
 * 독립적인 CSS 클래스 네임 사용
 */

/* 페이지 헤더 */
.intro-page-header {
    background: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);
    padding: 4rem 0 3rem;
    color: #ffffff;
    text-align: center;
}

.intro-page-header .page-title {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    letter-spacing: 3px;
}

.intro-page-header .page-subtitle {
    font-size: 1.25rem;
    opacity: 0.9;
}

/* 회사 개요 섹션 */
.intro-overview-section {
    background: #ffffff;
}

.intro-image-box {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.intro-image-box img {
    width: 100%;
    height: auto;
}

.intro-content-box {
    padding: 2rem;
}

.section-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 3px solid #0d6efd;
}

.intro-text p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #555;
    margin-bottom: 1.5rem;
}

.intro-text .lead {
    font-size: 1.25rem;
    font-weight: 500;
    color: #2c3e50;
}

/* 비전 및 미션 섹션 */
.intro-vision-section {
    background: #f8f9fa;
}

.vision-card {
    background: #ffffff;
    padding: 3rem 2rem;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.vision-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.vision-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 1.5rem;
    background: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 2.5rem;
}

.vision-card h3 {
    font-size: 1.75rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 1.5rem;
}

.vision-card p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #666;
    margin: 0;
}

/* 사업 영역 섹션 */
.intro-business-section {
    background: #ffffff;
}

.business-item {
    background: #f8f9fa;
    padding: 2.5rem 2rem;
    border-radius: 12px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
}

.business-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.business-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 1.5rem;
    background: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 2rem;
}

.business-item h4 {
    font-size: 1.5rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

.business-item p {
    font-size: 1rem;
    color: #666;
    margin: 0;
}

/* 파트너 기업 섹션 */
.intro-partner-section {
    background: #f8f9fa;
}

.partner-item-card {
    background: #ffffff;
    padding: 2.5rem 2rem;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.partner-item-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.partner-item-logo {
    width: 100px;
    height: 100px;
    margin: 0 auto 1.5rem;
    background: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 3rem;
}

.partner-item-card h3 {
    font-size: 1.75rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

.partner-location {
    font-size: 1rem;
    color: #0d6efd;
    margin-bottom: 1rem;
    font-weight: 500;
}

.partner-location i {
    margin-right: 0.5rem;
}

.partner-desc {
    font-size: 1rem;
    line-height: 1.6;
    color: #666;
    margin: 0;
}

/* 회사 정보 섹션 */
.intro-info-section {
    background: #ffffff;
}

.company-info-card {
    background: #f8f9fa;
    padding: 3rem;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.info-item {
    background: #ffffff;
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 1rem;
    border-left: 4px solid #0d6efd;
}

.info-label {
    font-size: 0.9rem;
    color: #0d6efd;
    font-weight: 600;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
}

.info-label i {
    margin-right: 0.5rem;
    font-size: 1.1rem;
}

.info-value {
    font-size: 1.1rem;
    color: #2c3e50;
    font-weight: 500;
}

/* 오시는 길 섹션 */
.intro-map-section {
    background: #f8f9fa;
}

.map-container {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.google-map {
    width: 100%;
    height: 450px;
    border: none;
    border-radius: 12px;
}

/* 구글 지도 정보창 스타일 */
.map-info-window {
    padding: 0.5rem;
}

.map-heading {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0d6efd;
    margin-bottom: 0.5rem;
}

.map-content {
    font-size: 1rem;
    color: #333;
    line-height: 1.5;
}

.map-info {
    background: #ffffff;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.map-info h5 {
    font-size: 1.25rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 1rem;
}

.map-info h5 i {
    margin-right: 0.5rem;
    color: #0d6efd;
}

.map-info p {
    font-size: 1rem;
    color: #666;
    line-height: 1.6;
    margin: 0;
}

/* 반응형 디자인 */
@media (max-width: 992px) {
    .intro-page-header .page-title {
        font-size: 2.5rem;
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .intro-content-box {
        padding: 1.5rem;
    }
}

@media (max-width: 768px) {
    .intro-page-header {
        padding: 3rem 0 2rem;
    }
    
    .intro-page-header .page-title {
        font-size: 2rem;
    }
    
    .intro-image-box {
        margin-bottom: 2rem;
    }
    
    .vision-card,
    .business-item,
    .partner-item-card {
        margin-bottom: 1.5rem;
    }
    
    .company-info-card {
        padding: 2rem;
    }
    
    .map-placeholder {
        min-height: 300px;
        padding: 3rem 1.5rem;
    }
}

@media (max-width: 576px) {
    .section-title {
        font-size: 1.75rem;
    }
    
    .vision-icon,
    .business-icon {
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
    }
    
    .partner-item-logo {
        width: 80px;
        height: 80px;
        font-size: 2.5rem;
    }
    
    .map-placeholder {
        min-height: 250px;
        padding: 2rem 1rem;
    }
    
    .map-placeholder i {
        font-size: 3rem;
    }
}

