﻿/* 모든 계산 안정화 */
* {
    box-sizing: border-box;
}

/* ===============================
   SECTION
================================ */
.info-section {
    padding: 60px 20px;
/*    background: none;*/
}

/* ===============================
   컨테이너
================================ */
.info-container {
    max-width: 1200px; /* 🔥 핵심 */
    margin: 0 auto; /* 가운데 정렬 */
    display: flex;
    gap: 40px;
}

/* ===============================
   공통 높이
================================ */
.left-area,
.right-area {
    flex: 1;
}

/* ===============================
   왼쪽
================================ */
.left-area {
    display: flex;
    flex-direction: column;
}

.left-title {
    margin-bottom: 20px;
}

.book-info {
    display: flex;
    align-items: center;
    gap: 24px; /* 간격으로 조절 */
}

    .book-info > div {
        width: auto !important;
    }

.image-wrapper {
    width: 160px;
    height: 220px;
    flex-shrink: 0;
}

    .image-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

/* 버튼 */
.download-wrapper {
    margin-left: 0;
    /*    margin-left: auto;*/
    display: flex;
    align-items: center;
}

.download-btn {
    padding: 12px 20px;
    background: #2c3e50;
    color: #fff;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 600;
    transition: 0.2s;
}

    .download-btn:hover {
        background: white;
        border-color: #4da3ff;
        /*background: linear-gradient(135deg, #1e5fa8, #2b7de9);*/ /* 🔥 밝게 */
        /*        box-shadow: 0 8px 20px rgba(43,125,233,0.3);*/
        transform: translateY(-2px);
        /*        background: linear-gradient(135deg, #2b7de9, #4fa3ff);*/
    }

/* ===============================
   오른쪽
================================ */
.right-area {
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    display: flex;
    flex-direction: column;
}

/* 탭 */
.tab-menu {
    height: 60px;
    display: flex;
    align-items: center;
    gap: 35px;
    border-bottom: 2px solid #e6ecf2;
}

/* 기본 탭 스타일 */
.tab-btn {
    position: relative;
    background: none;
    border: none;
    font-size: 20px; /* 🔥 기본도 살짝 키움 */
    font-weight: 700;
    cursor: pointer;
    color: #666;
    transition: color 0.3s ease;
}

    /* hover 색상 */
    .tab-btn:hover {
        color: #2b7de9; /* 🔥 밝은 블루 */
    }

    /* 밑줄 애니메이션 */
    .tab-btn::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -8px;
        width: 0;
        height: 3px;
        background: #2b7de9;
        transition: width 0.3s ease;
    }

    .tab-btn:hover::after {
        width: 100%;
    }

    /* active 상태 */
    .tab-btn.active {
        color: #145da0;
    }

        .tab-btn.active::after {
            width: 100%;
            background: #145da0;
        }

/* 리스트 영역 */
.tab-content {
    flex: 1;
    overflow: hidden; /* 🔥 넘침 차단 */
}

    .tab-content ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    /* 정확히 4줄 계산 */
    .tab-content li {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 14px 0;
        border-bottom: 1px solid #eee;
        font-size: 19px; /* 🔥 크게 */
    }

    .tab-content a {
        font-size: 16px;
        color: #222;
        text-decoration: none;
        font-weight: 500;
    }

        .tab-content a:hover {
            color: #145da0;
        }

        /* 5번째부터 완전 제거 */
        .tab-content li:nth-child(n+5) {
            display: none;
        }

    .tab-content a {
        color: #333;
        text-decoration: none;
    }

    .tab-content span {
        font-size: 15px;
        color: #888;
    }

.tab-content {
    display: none;
}

    .tab-content.active {
        display: block;
    }

.labguide-section, .labpart-section {
    padding: 80px 0 0 0;
    background: #f8fafc;
}

.labguide-section-title, .labpart-section-title {
    text-align: left;
    font-size: 28px;
    font-weight: 500;
    margin-bottom: 40px;
}

.labguide-container, .labpart-container {
    max-width: 70%;
    margin: 0 auto;
    padding: 0 20px;
}

.labguide-slider .owl-stage-outer, .labpart-slider .owl-stage-outer {
    overflow: visible !important;
}

.labguide-slider .owl-item, .labpart-slider .owl-item {
    display: flex;
}

.labguide-content, .labpart-content {
    padding: 24px;
    text-align: center;
}

    .labguide-content h3, .labpart-content h3 {
        font-size: 20px;
        font-weight: 600;
        margin-bottom: 12px;
    }

    .labguide-content p, labpart-content p {
        font-size: 15px;
        color: #666;
        margin-bottom: 16px;
    }



/**/
.labguide-card {
    border: 1px solid #ddd;
    border-radius: 18px; /* 카드 전체도 둥글게 */
    background-color: #fff;
}

.labpart-card {
    width: 100%;
    border-radius: 20px; /* 카드 전체 곡률 */
    overflow: hidden; /* 자식 요소(이미지)가 튀어나오지 않게 함 */
    background: #fff;
    display: flex;
    flex-direction: column;
}

.labguide-img {
    width: 100%; /* 박스 가로 꽉 채우기 */
    height: 300px; /* ★ 중요: 모든 이미지 높이를 통일 (원하는 높이로 조절) */
    overflow: hidden; /* ★ 중요: 이 설정이 있어야 모서리가 깎임 */
    border-top-left-radius: 20px; /* 왼쪽 위 굴곡 */
    border-top-right-radius: 20px; /* 오른쪽 위 굴곡 */
    position: relative;
    cursor: pointer;
}

.labguide img {
    width: 100% !important; /* 부모 박스 가로에 강제로 맞춤 */
    height: 100% !important; /* 부모 박스 세로에 강제로 맞춤 */
    object-fit: cover; /* ★ 핵심: 이미지가 찌그러지지 않게 비율 맞춰서 채움 */
    display: block; /* 하단 미세 공백 제거 */
    border-radius: inherit; /* 부모의 곡률을 그대로 상속 */
}


.labpart-img {
    width: 100%; /* 가로 꽉 채움 */
    height: 300px; /* ★ 원하는 동일 높이값으로 고정 (예: 250px) */
    overflow: hidden; /* 이미지의 모서리를 깎기 위해 필수 */
    margin: 0;
    padding: 0;
    cursor: pointer;
}

    .labpart-img img {
        width: 100% !important; /* 가로 꽉 채움 */
        height: 100% !important; /* 부모(.labpart-img) 높이 250px에 맞춤 */
        object-fit: cover; /* ★ 중요: 이미지 비율을 유지하면서 박스에 꽉 채움 (찌그러짐 방지) */
        display: block; /* 하단 미세 공백 제거 */
        border-radius: 0; /* 부모 박스가 잘라주므로 이미지는 0으로 설정해도 됨 */
    }