@font-face {
    font-family: 'NanumSquareNeo';
    src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-bRg.eot);
    src: url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-bRg.eot?#iefix) format("embedded-opentype"), url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-bRg.woff) format("woff"), url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquareNeo/NanumSquareNeoTTF-bRg.ttf) format("truetype");
}

       
        /* 공통 레이아웃 */
        .wrapper4, .wrapper5 { width: 100%; background-color: #fff; }
        .container4, .container5 { max-width: 1200px; margin: 0 auto; background-color: #fff; padding: 0px 0; }
        .text-center { text-align: center; }
        .line-divider { border: 0; border-top: 1px solid #ececec; margin: 40px 0; width: 100%; }

        /* [2] 상단 프로모션 및 Price List 스타일 (기존 유지) */
        .promo-header { margin-bottom: 60px; }
        .promo-header .small-txt { font-size: 22px; color: #333; margin-bottom: 10px; }
        .promo-header .large-txt { font-size: 48px; font-weight: 800; color: #25087b; margin-bottom: 30px; }
        .promo-header .desc-txt { font-size: 18px; color: #666; line-height: 1.6; }

        .benefit-wrap { display: flex; justify-content: center; align-items: center; max-width: 900px; margin: 50px auto 0; }
        .benefit-item { flex: 1; text-align: center; position: relative; }
        .benefit-item:not(:last-child)::after { content: ''; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 50px; background-color: #ececec; }
        .benefit-item .val { display: block; font-size: 36px; font-weight: 800; color: #25087b; margin-bottom: 5px; }
        .benefit-item .lbl { font-size: 16px; color: #888; font-weight: 500; }

        .price-header { margin-bottom: 60px; }
        .price-header h2 { font-size: 40px; font-weight: 800; margin-bottom: 15px; letter-spacing: -1px; }
        .price-header p { font-size: 17px; color: #666; line-height: 1.5; }

        .price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 80px; }
        .price-box { border: 2px solid #ececec; border-radius: 15px; padding: 25px 25px 35px 25px; background-color: #fff; transition: all 0.3s ease; display: flex; flex-direction: column; text-align: center; }
        .price-box:hover { border: 2px solid #25087b; transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0,0,0,0.05); }
        .box-top { min-height: 130px; margin-bottom: 0px; }
        .price-box h4 { font-size: 24px; font-weight: 800; margin-bottom: 10px; color: #000; }
        .price-box .sub-point { font-weight: 700; color: #444; margin-bottom: 15px; display: block; }
        .price-box .intro { font-size: 14px; color: #888; word-break: keep-all; }
        .box-bottom { text-align: left; flex-grow: 1; }
        .price-box .price-val { font-size: 26px; font-weight: 800; color: #000; margin-bottom: 25px; display: block; border-bottom: 1px solid #ececec; padding-bottom: 15px; }
        .price-box .price-val span { font-size: 13px; font-weight: 400; color: #aaa; margin-left: 5px; }
        .price-box ul { list-style: none; }
        .price-box ul li { font-size: 14px; color: #555; margin-bottom: 12px; line-height: 1.6; word-break: keep-all; padding-left: 18px; text-indent: -18px; }

        /* Price List 내 버튼 (연동 버튼) */
        .go-calc-btn { margin-top: 30px; padding: 16px 0; width: 100%; border: 2px solid #25087b; background-color: #25087b; color: #fff; border-radius: 10px; font-weight: 700; font-size: 15px; cursor: pointer; transition: all 0.3s ease; }
        .go-calc-btn:hover { background-color: #fff; color: #25087b; }

        /* [3] 추가 옵션/진행/혜택 안내 섹션 */
        .bottom-info-title { font-size: 28px; font-weight: 800; margin-bottom: 30px; }
        .info-card { border: 2px solid #ececec; border-radius: 15px; padding: 40px 40px 20px 40px; background-color: #fff; text-align: left; margin-bottom: 40px; }
        .info-card ul { list-style: none; }
        .info-card li { font-size: 15px; color: #555; margin-bottom: 18px; padding-left: 20px; position: relative; }
        .info-card li::before { content: "•"; position: absolute; left: 0; color: #ccc; }

        /* [3] 견적 계산기 디자인 */
        .calc-main-box { display: flex; border: 2px solid #ececec; border-radius: 24px; overflow: hidden; min-height: 900px; }
        .calc-left { flex: 1.2; padding: 40px; background-color: #fff; }
        .calc-right { flex: 0.8; padding: 40px; background-color: #fafafa; border-left: 1px solid #f0f0f0; display: flex; flex-direction: column; }

        .calc-title { font-size: 36px; font-weight: 800; margin-bottom: 10px; color: #000; }
        .calc-subtitle { font-size: 16px; color: #333; margin-bottom: 50px; line-height:180%; }
.group-label {
    display: inline-block;          /* 내용만큼만 배경색 차도록 설정 */
    font-size: 18px;                /* PC 기준 글자 크기 */
    font-weight: 700;
    color: #fff !important;         /* 글자색 흰색 */
    background-color: #25087b;         /* 배경색 진한 회색 (검정 계열) */
    padding: 10px 25px;             /* 테두리 안쪽 여백 */
    border-radius: 50px;            /* 둥근 타원형 모양 */
    margin: 40px 0 20px 0;          /* 위아래 간격 */
    pointer-events: none;           /* 마우스 클릭 방지 */
    user-select: none;              /* 글자 드래그 방지 */
    letter-spacing: -0.5px;
}

        .option-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
        .option-list { display: flex; flex-direction: column; gap: 12px; }
        .selectable-box { cursor: pointer; border: 1px solid #eee; border-radius: 12px; padding: 22px; display: flex; justify-content: space-between; align-items: center; background: #fff; transition: 0.2s; }
        .selectable-box.active { border-color: #25087b; background-color: #f9f9f9; box-shadow: inset 0 0 0 1px #25087b; }
        .selectable-box .box-name { font-size: 17px; font-weight: 700; }
        .selectable-box .box-price { font-size: 15px; font-weight: 600; color: #666; }
		
        .selectable-box1 { cursor: pointer; border: 1px solid #eee; border-radius: 12px; padding: 42px 22px; 42px; 22px; display: flex; justify-content: space-between; align-items: center; background: #fff; transition: 0.2s; }
        .selectable-box1.active { border-color: #25087b; background-color: #f9f9f9; box-shadow: inset 0 0 0 3px #25087b; }
        .selectable-box1 .box-name { font-size: 19px; font-weight: 700; }
        .selectable-box1 .box-price { font-size: 17px; font-weight: 600; color: #666; }

        /* 우측 결과 영역 */
        .summary-container { width: 100%; }
        .summary-item { display: flex; justify-content: space-between; margin-bottom: 20px; font-size: 18px; color: #666; }
        .summary-item.product-line { color: #000; font-weight: 700; }
        .summary-item.highlight { color: #d9534f; font-weight: 800; margin-bottom: 30px; }
        
        .final-quote-wrap { border-top: 3px solid #000; padding-top: 35px; margin-top: 10px; text-align: right; }
        .final-label { font-size: 18px; color: #111; font-weight: 700; }
        .final-total-price { font-size: 52px; font-weight: 900; color: #000; margin: 5px 0; letter-spacing: -1px; }
        .vat-notice { font-size: 14px; color: #aaa; margin-bottom: 30px; }

/* 1. 기본 구조 설정 (공통) */
.consult-btn {
    display: block;
    width: 100%;
    border: 2px solid #25087b;
    text-align: center;
    padding: 25px 0;
    border-radius: 15px;
    font-size: 20px;
    font-weight: 700;
    transition: 0.3s;
    box-sizing: border-box; /* 패딩이 너비에 영향을 주지 않도록 추가 */
}

/* 2. 평상시 상태 & 클릭하여 방문한 후 상태 (동일하게 유지) */
.consult-btn:link, 
.consult-btn:visited {
    background-color: #25087b;
    color: #fff;
    text-decoration: none; /* 밑줄 절대 제거 */
}

/* 3. 마우스를 올렸을 때 & 클릭하는 순간 (호버 효과) */
.consult-btn:hover, 
.consult-btn:active {
    background-color: #fff;
    color: #25087b;
    text-decoration: none; /* 호버 시에도 밑줄 제거 */
    transform: translateY(-3px);
}

        /* [5] 반응형 레이아웃 */
        @media (max-width: 1199px) {
            .container4, .container5 { padding: 0px 10px; }
            .price-grid { grid-template-columns: repeat(2, 1fr); }
            .calc-main-box { flex-direction: column; }
            .calc-right { border-left: none; border-top: 1px solid #ececec; padding: 40px 20px; }
            .calc-left { padding: 40px 20px; }
    .group-label {
        font-size: 16px;
        padding: 8px 20px;
        margin: 30px 0 15px 0;
    }
        }

        @media (max-width: 768px) {
            .promo-header .large-txt { font-size: 30px; }
            .benefit-wrap { flex-wrap: wrap; }
            .benefit-item { width: 50%; margin-bottom: 20px; }
            .benefit-item:nth-child(2)::after { display: none; }
            .price-grid { grid-template-columns: 1fr; }
            .option-grid { grid-template-columns: 1fr; }
            .final-total-price { font-size: 32px; }
            .price-header p { font-size: 15px; }
            .promo-header .desc-txt { font-size: 15px; }
            .info-card { padding: 30px 20px 10px 20px; }
			.calc-title { font-size: 26px; }
            .calc-subtitle { font-size: 14.5px; }
            .selectable-box .box-name { font-size: 15px; }
            .selectable-box .box-price { font-size: 14px; }
            .selectable-box1 .box-name { font-size: 17px; }
            .selectable-box1 .box-price { font-size: 16px; }

    .group-label {
        font-size: 14px;            /* 모바일에서 작게 조절 */
        padding: 6px 16px;
        margin: 25px 0 12px 0;
    }
        }