.page-container {
    width: 100%;
    margin: 0 auto;
}

.tab-container {
    display: flex;
    height: 58px;
    background-color: #333;
    align-items: flex-end;
    width: 100%;
    box-sizing: border-box;
    justify-content: center;
    padding-left: clamp(0px, calc((100vw - 500px) / 2), 300px);
    padding-right: clamp(0px, calc((100vw - 500px) / 2), 300px);
}

.tab-item {
    height: 58px;
    line-height: 58px;
    padding: 0 25px; /* 기본 내부 패딩 */
    cursor: pointer;
    color: #eee;
    font-weight: bold;
    transition: background-color 0.3s, color 0.3s;
    flex: 1;
    text-align: center;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}

.tab-item:hover:not(.active) {
    background-color: #555;
    color: #fff;
}

.tab-item.active {
    background-color: #fff;
    color: #000;
    margin-bottom: -1px;
    border: 1px solid #ccc;
    border-bottom: 1px solid #fff;
    top: -1px;
    z-index: 2;
}

.tab-content {
    width: 100%;
    justify-content: center;
}

.content-panel {
    display: none;
}

.content-panel.active {
    display: block;
}

#service3-section1 {
    width: 100% !important;
    padding: 0 !important;
}

/* 탭 아이템 자체의 패딩/마진/폰트 크기 조절 (여전히 유용함) */
@media (max-width: 768px) {
    .tab-item {
        padding: 0 10px; /* 내부 패딩을 10px로 줄임 */
        font-size: 0.9em;
    }
}

@media (max-width: 480px) {
    .tab-item {
        margin: 0; /* 탭 아이템 간 마진을 0으로 만듬 */
        padding: 0 5px; /* 내부 패딩을 최소한으로 줄임 */
        font-size: 0.8em;
    }
}