/* 
 * regularprogram_v2.css
 * 정기 프로그램 페이지 v2 추가 스타일
 * 
 * 이 파일은 기존 스타일을 덮어쓰거나 새로운 스타일을 추가하는 용도입니다.
 * 기존 CSS 파일들(house.css, hikr_new.css, renewal.css)은 그대로 유지됩니다.
 */

/* 예시: 기존 스타일 덮어쓰기 */
/* .program__hero {
    background-color: #f0f0f0;
} */

/* 새로운 프로그램 소개 섹션 */
.v2-program-section {
    width: 100% !important;
    background-color: #7b4ec3 !important;
    padding: 60px 0 !important; /* 좌우 패딩 없음, 상하만 */
    position: relative !important;
}

.v2-program-images {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.v2-program-image {
    width: 70% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    transition: transform 0.3s ease !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 1 !important;
}

/* 마우스 호버 시 확대 효과 */
.v2-program-image:hover {
    transform: scale(1.05) !important;
    z-index: 10 !important;
}

/* 첫 번째 이미지(program_0) 특별 스타일 */
.v2-program-image:first-child {
    width: 13% !important;
    margin: 0 !important;
    margin-left: 15% !important;
    margin-top: 2% !important;
    min-width: 80px !important;
    /* max-width: 179px !important; */
    align-self: flex-start !important;
}

/* 첫 번째 이미지는 호버 효과 제외 */
.v2-program-image:first-child:hover {
    transform: none !important;
}

/* 각 이미지별로 개별 마진 적용 */
/* program_0_ko.png (첫 번째) - 기본 위치 */

/* program_0과 program_1 사이의 간격 (두 번째 요소) */
.v2-program-image:nth-child(2) {
    margin-top: -3.5% !important;
}

/* program_1_ko.png (두 번째 -> 세 번째) */
.v2-program-image:nth-child(3) {
    margin-top: -10% !important;
}

/* program_2_ko.png (세 번째 -> 네 번째) */
.v2-program-image:nth-child(4) {
    margin-top: -6.3% !important;
}

/* program_3_ko.png (네 번째 -> 다섯 번째) */
.v2-program-image:nth-child(5) {
    margin-top: -6.5% !important;
}

/* program_4_ko.png (다섯 번째 -> 여섯 번째) */
.v2-program-image:nth-child(6) {
    margin-top: -4.7% !important;
}

/* program_5_ko.png (여섯 번째 -> 일곱 번째) */
.v2-program-image:nth-child(7) {
    margin-top: -6.3% !important;
}

/* 여기에 새로운 스타일을 추가하세요 */

/* 프로그램 카드 슬라이드 섹션 */
.v2-program-cards {
    width: 100% !important;
    padding: 120px 0 !important;
    background-color: #ffffff !important;
    position: relative !important;
    overflow: visible !important;
}

/* 제목 이미지 스타일 */
.v2-cards-title {
    max-width: 70% !important;
    margin: 0 auto 40px !important;
    text-align: left !important;
}

.v2-cards-title img {
    width: 18% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
}

.v2-cards-container {
    max-width: 70% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: relative !important;
    overflow: visible !important;
}

.v2-cards-swiper {
    width: 100% !important;
    position: relative !important;
    overflow: hidden !important; /* 슬라이드만 hidden */
}

.v2-cards-swiper .swiper-slide {
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.v2-cards-swiper .swiper-slide img {
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
    object-fit: contain !important;
}

/* 좌우 화살표 스타일 */
.v2-cards-prev,
.v2-cards-next {
    position: absolute !important;
    width: 88px !important;
    height: 88px !important;
    background-color: transparent !important;
    border: none !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
    z-index: 100 !important;
    pointer-events: auto !important;
    outline: none !important;
}

.v2-cards-next {
    left: auto !important;
    right: 10% !important;
    background-image: url(../images/program/top/regular_arrow_next.svg) !important;
}

.v2-cards-prev {
    right: auto !important;
    left: 10% !important;
    background-image: url(../images/program/top/regular_arrow_prev.svg) !important;
}

/* 기본 화살표 아이콘 숨기기 */
.v2-cards-next::after,
.v2-cards-prev::after {
    display: none !important;
}

/* 필요시 색상만 조정 */
.v2-cards-swiper {
    --swiper-pagination-color: #7b4ec3;
}

/* 화살표 비활성화 시 */
.swiper-button-disabled {
    opacity: 0.5 !important;
}

/* 페이지네이션 스타일 */
.v2-cards-pagination {
    bottom: -40px !important;
    position: relative !important;
    text-align: center !important;
    margin-top: 30px !important;
}

.v2-cards-pagination .swiper-pagination-bullet {
    width: 12px !important;
    height: 12px !important;
    background-color: #ddd !important;
    opacity: 1 !important;
    margin: 0 6px !important;
    transition: all 0.3s ease !important;
}

.v2-cards-pagination .swiper-pagination-bullet-active {
    background-color: #7b4ec3 !important;
    width: 30px !important;
    border-radius: 6px !important;
}

/* v2 배너 섹션 */
.v2-program-banner {
    width: 100vw !important;
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    margin-top: 120px !important; /* 기본 헤더 여백 */
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
}

.v2-banner-wrapper {
    position: relative !important;
    width: 100% !important;
    line-height: 0 !important;
    font-size: 0 !important;
    /* 컨테이너 높이를 비율로 고정 (이미지 비율에 맞게 조정) */
    height: 0 !important;
    padding-bottom: 50% !important; /* 2:1 비율 가정, 필요시 조정 */
}

/* 모든 이미지 absolute로 배치 */
.v2-banner-layer {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* 이미지가 컨테이너에 맞게 채워지도록 */
}

/* 각 레이어 z-index */
.v2-banner-layer--bottom {
    z-index: 1 !important;
    width: 100% !important;
    left: 0 !important;
    transition: transform 0.15s ease-out !important;
}

.v2-banner-layer--middle {
    z-index: 2 !important;
    width: 105% !important;
    left: 50% !important;
    transform: translateX(-50%);
    transition: transform 0.12s ease-out !important;
}

.v2-banner-layer--top {
    z-index: 3 !important;
    width: 105% !important;
    left: 50% !important;
    transform: translateX(-50%);
    transition: transform 0.1s ease-out !important;
}

/* img 태그 기본 스타일 초기화 */
.v2-banner-wrapper img {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    vertical-align: top !important;
}

/* 배너 텍스트 섹션 */
.v2-banner-text-section {
    width: 100% !important;
    /* padding: 80px 20px !important; */
    background-color: #ffffff !important;
    text-align: center !important;
    position: relative !important; /* 악세서리 배치를 위해 추가 */
    padding: 40px 20px !important; /* 최소한의 여백 추가 */
}

/* 배너 텍스트 콘텐츠 */
.v2-banner-content {
    /* max-width: 1200px !important; */ /* 최대 너비 제한 제거 */
    margin: 0 auto !important;
    padding: 0 !important; /* 패딩 제거 */
    font-family: 'Spoqa Han Sans Neo', 'Spoqa Han Sans', sans-serif !important;
    position: relative !important; /* 악세서리 배치를 위해 추가 */
}

.v2-banner-text {
    font-size: 1.3vw !important;
    color: #333 !important;
    margin-bottom: 20px !important; /* 버튼과의 간격 조정 */
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

.v2-banner-text span {
    color: #7b4ec3 !important;
    font-weight: 700 !important;
}

.v2-banner-button {
    display: inline-block !important;
    padding: 15px 40px !important;
    background-color: #7b4ec3 !important;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 10px !important; /* PC도 동일하게 변경 */
    font-size: 1.3vw !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
}

.v2-banner-button:hover {
    background-color: #6940a8 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(123, 78, 195, 0.3) !important;
}

/* 악세사리 이미지 스타일 */
.v2-banner-accessory {
    position: absolute !important;
    z-index: 4 !important; /* 모든 레이어보다 위에 */
    pointer-events: none; /* 마우스 이벤트 방지 */
}

.v2-accessory-1 {
    right: 16% !important;
    top: 1% !important;
    width: 5vw !important;
    height: auto !important;
    min-width: 60px !important;
    max-width: 150px !important;
    transition: transform 0.2s ease-out !important;
    animation: floating 4s ease-in-out infinite !important;
    --parallax-x: 0px;
    --parallax-y: 0px;
}

.v2-accessory-2 {
    right: 81% !important;
    top: 60% !important;
    width: 5vw !important;
    height: auto !important;
    min-width: 60px !important;
    max-width: 150px !important;
    transition: transform 0.2s ease-out !important;
    animation: floating2 5s ease-in-out infinite !important;
    animation-delay: 1s !important; /* 애니메이션 시차 */
    --parallax-x: 0px;
    --parallax-y: 0px;
}

.v2-accessory-3 {
    right: 80% !important;
    top: 50% !important; /* 텍스트와 같은 라인에 배치 */
    /* transform: translateY(-50%) !important; */ /* floating 애니메이션과 충돌 방지 */
    width: 8vw !important;
    height: auto !important;
    min-width: 60px !important;
    max-width: 150px !important;
    transition: transform 0.2s ease-out !important;
    animation: floating 4s ease-in-out infinite !important;
    animation-delay: 2s !important; /* 애니메이션 시차 */
    --parallax-x: 0px;
    --parallax-y: 0px;
}

.v2-accessory-4 {
    right: 13% !important;
    top: 35% !important;
    /* transform: translateY(-50%) !important; */ /* floating 애니메이션과 충돌 방지 */
    width: 8vw !important;
    height: auto !important;
    min-width: 60px !important;
    max-width: 150px !important;
    transition: transform 0.2s ease-out !important;
    animation: floating2 6s ease-in-out infinite !important;
    animation-delay: 3s !important; /* 애니메이션 시차 */
    --parallax-x: 0px;
    --parallax-y: 0px;
}

/* 둥둥 떠다니는 애니메이션 */
@keyframes floating {
    0% {
        transform: translate(var(--parallax-x), calc(var(--parallax-y) + 0px));
    }
    50% {
        transform: translate(var(--parallax-x), calc(var(--parallax-y) - 15px));
    }
    100% {
        transform: translate(var(--parallax-x), calc(var(--parallax-y) + 0px));
    }
}

/* 작은 화면에서 카드 및 프로그램 이미지 크기 조정 */
@media (max-width: 767px) {
    /* 카드 섹션 */
    .v2-cards-mobile {
        padding: 0 3% !important; /* 좌우 3% 패딩 유지 */
    }
    
    .v2-cards-mobile-title img {
        width: 69% !important; /* 작은 화면에서 좌 더 크게 (59%에서 69%로) */
        margin-top: 23% !important; /* 상단 여백 유지 */
    }
    
    .v2-cards-mobile-swiper .swiper-slide img {
        width: 100% !important; /* 작은 화면에서도 100% 유지 */
    }
    
    .v2-program-cards {
        padding: 0 0 60px !important; /* 상단 패딩 제거하여 경계선 없애기 */
    }
    
    /* 프로그램 섹션 */
    .v2-program-mobile {
        padding: 0 3% !important; /* 좌우 3% 패딩 유지 */
    }
    
    .v2-program-mobile-image {
        width: 100% !important; /* 작은 화면에서도 100% 유지 */
    }
    
    .v2-program-mobile-image:first-child {
        width: 69% !important; /* 작은 화면에서 더 크게 (59%에서 69%로) */
    }
    
    .v2-program-section {
        padding: 30px 0 0 !important; /* 작은 화면에서 하단 패딩 제거 */
    }
}

/* 작은 모바일 화면 (576px 미만) */
@media (max-width: 575.98px) {
    .v2-banner-mobile-content {
        padding: 20px 0 !important; /* 상하 패딩만 */
    }
    
    .v2-banner-mobile-text {
        font-size: 13px !important; /* 14px에서 13px로 변경 */
        margin-bottom: 15px !important;
    }
    
    .v2-banner-mobile-button {
        padding: 12px 30px !important;
        font-size: 14px !important;
    }
}

/* 다른 패턴의 floating 애니메이션 */
@keyframes floating2 {
    0% {
        transform: translate(var(--parallax-x), calc(var(--parallax-y) + 0px));
    }
    25% {
        transform: translate(calc(var(--parallax-x) + 5px), calc(var(--parallax-y) - 10px));
    }
    75% {
        transform: translate(calc(var(--parallax-x) - 5px), calc(var(--parallax-y) - 10px));
    }
    100% {
        transform: translate(var(--parallax-x), calc(var(--parallax-y) + 0px));
    }
}

/* 악세서리 3, 4를 위한 특별한 애니메이션 - 더 이상 사용하지 않음 */
/* @keyframes floatingWithCenter {
    0% {
        transform: translateY(-50%);
    }
    50% {
        transform: translateY(calc(-50% - 15px));
    }
    100% {
        transform: translateY(-50%);
    }
}

@keyframes floatingWithCenter2 {
    0% {
        transform: translate(0, -50%);
    }
    25% {
        transform: translate(5px, calc(-50% - 10px));
    }
    75% {
        transform: translate(-5px, calc(-50% - 10px));
    }
    100% {
        transform: translate(0, -50%);
    }
} */

/* 전체 컨테이너 overflow 설정 */
#regular_program {
    overflow: visible !important;
}

/* 모바일 배너 기본 스타일 */
.v2-banner-mobile {
    display: none !important;
    width: 100% !important;
    position: relative !important;
    z-index: 1 !important;
}

.v2-banner-mobile-bg {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

.v2-banner-mobile-content {
    position: absolute !important;
    bottom: 0 !important;
    left: 3% !important;
    right: 3% !important;
    padding: 25px 0 !important; /* 좌우 패딩을 left/right로 대체 */
    text-align: center !important;
}

.v2-banner-mobile-text {
    font-size: 14px !important; /* 16px에서 14px로 축소 */
    color: #333 !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    font-weight: 400 !important;
    font-family: 'Spoqa Han Sans Neo', 'Spoqa Han Sans', sans-serif !important;
}

.v2-banner-mobile-text span {
    color: #7b4ec3 !important;
    font-weight: 700 !important;
}

.v2-banner-mobile-button {
    display: inline-block !important;
    padding: 14px 35px !important;
    background-color: #7b4ec3 !important;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 10px !important; /* 알약 모양에서 사각형으로 변경 */
    font-size: 16px !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    font-family: 'Spoqa Han Sans Neo', 'Spoqa Han Sans', sans-serif !important;
}

.v2-banner-mobile-button:hover {
    background-color: #6940a8 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(123, 78, 195, 0.3) !important;
}

/* 모바일 카드 슬라이드 스타일 */
.v2-cards-mobile {
    display: none !important; /* 기본적으로 숨김 */
    width: 100% !important;
    padding: 0 3% !important; /* 좌우 3% 패딩 추가 */
    box-sizing: border-box !important;
    position: relative !important; /* 인디케이터를 위해 추가 */
}

.v2-cards-mobile-title {
    width: 100% !important;
    text-align: center !important;
    /* margin-bottom: 30px !important; */ /* 마진 제거 */
}

.v2-cards-mobile-title img {
    width: 59% !important; /* 50%에서 59%로 확대 */
    height: auto !important;
    display: inline-block !important;
    margin-top: 23% !important; /* 제목 이미지 상단 여백 추가 */
}

.v2-cards-mobile-swiper {
    width: 100% !important;
    position: relative !important;
    padding-bottom: 65px !important; /* 60px에서 65px로 약간만 증가 */
}

.v2-cards-mobile-swiper .swiper-slide img {
    width: 100% !important; /* 85%에서 100%로 변경 */
    height: auto !important;
    display: block !important; /* inline-block에서 block으로 변경 */
    margin: 0 !important; /* 마진 추가 */
}

/* 모바일 페이지네이션 스타일 */
.v2-cards-mobile-pagination {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    text-align: center !important;
    z-index: 10 !important;
    transform: translateY(6px) !important; /* 6px만 아래로 이동 */
    padding-bottom: 20px !important; /* 하단 여백 */
}

.v2-cards-mobile-pagination .swiper-pagination-bullet {
    width: 12px !important;
    height: 12px !important;
    background-color: #31293c !important; /* 비활성 상태 색상 */
    border: none !important; /* 테두리 제거 */
    opacity: 1 !important;
    margin: 0 6px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    border-radius: 50% !important;
}

.v2-cards-mobile-pagination .swiper-pagination-bullet-active {
    background-color: #fefefe !important; /* 활성 상태 색상 */
}

/* 모바일 프로그램 이미지 스타일 */
.v2-program-mobile {
    display: none !important; /* 기본적으로 숨김 */
    width: 100% !important;
    padding: 0 3% !important; /* 좌우 3% 패딩 추가 */
    box-sizing: border-box !important;
}

.v2-program-mobile-image {
    width: 100% !important; /* 85%에서 100%로 변경 */
    height: auto !important;
    display: block !important;
    margin: 0 !important; /* margin 명시적 설정 */
    position: relative !important;
    z-index: 1 !important;
}

/* 첫 번째 이미지(제목) 특별 스타일 */
.v2-program-mobile-image:first-child {
    width: 59% !important; /* 요청하신대로 50%에서 59%로 확대 */
    margin: 0 auto 20px !important; /* 중앙 정렬 유지 */
    margin-top: 0 !important;
    align-self: center !important; /* 첫 번째 이미지만 중앙 정렬 */
}

/* 각 이미지 간격 (격치기 효과) */
.v2-program-mobile-image:nth-child(2) {
    margin-top: -15% !important;
}

.v2-program-mobile-image:nth-child(3) {
    margin-top: -31% !important;
}

.v2-program-mobile-image:nth-child(4) {
    margin-top: -13.5% !important;
}

.v2-program-mobile-image:nth-child(5) {
    margin-top: -14% !important;
}

.v2-program-mobile-image:nth-child(6) {
    margin-top: -16% !important;
}

.v2-program-mobile-image:nth-child(7) {
    margin-top: -8.5% !important;
}

/* PC에서는 PC 버전만, 모바일에서는 모바일 버전만 표시 */
@media (max-width: 991.98px) {
    /* 모바일에서 배너 섹션 표시 */
    .v2-program-banner {
        display: block !important;
        margin-top: 60px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
    /* PC 버전 숨기기 */
    .v2-banner-wrapper {
        display: none !important;
    }
    /* 모바일 버전 표시 */
    .v2-banner-mobile {
        display: block !important;
    }
    /* 나머지 섹션들은 일단 숨김 */
    .v2-banner-text-section {
        display: none !important;
    }
    /* 프로그램 섹션 표시 */
    .v2-program-section {
        display: block !important;
        padding: 40px 0 0 !important; /* 모바일에서 하단 패딩 제거 */
    }
    /* PC 프로그램 이미지 숨김 */
    .v2-program-images {
        display: none !important;
    }
    /* 모바일 프로그램 이미지 표시 */
    .v2-program-mobile {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important; /* 기본적으로 왼쪽 정렬 */
    }
    /* 카드 슬라이드 섹션 표시 */
    .v2-program-cards {
        display: block !important;
        background-color: #7b4ec3 !important; /* 모바일에서도 보라색 배경 */
        padding: 0 0 80px !important; /* 상단 패딩 제거하여 경계선 없애기 */
    }
    /* PC 카드 숨김 */
    .v2-cards-title,
    .v2-cards-container,
    .v2-cards-prev,
    .v2-cards-next {
        display: none !important;
    }
    /* 모바일 카드 표시 */
    .v2-cards-mobile {
        display: block !important;
    }
}

/* PC에서는 모바일 버전 숨기기 */
@media (min-width: 992px) {
    .v2-banner-mobile {
        display: none !important;
    }
    .v2-program-mobile {
        display: none !important;
    }
    .v2-cards-mobile {
        display: none !important;
    }
}

/* 큰 화면에서 더 많은 여백 */
@media (min-width: 1200px) {
    .v2-program-banner {
        margin-top: 140px !important;
    }
    
    /* 큰 화면에서 vw 단위가 부작횜할 수 있으므로 최소값 설정 */
    .v2-banner-text {
        font-size: max(1.3vw, 16px) !important;
    }
    .v2-banner-button {
        padding: 16px 45px !important;
        font-size: max(1.3vw, 16px) !important;
    }
}

/* 태블릿에서 악세사리 크기 조정 */
@media (max-width: 1199.98px) and (min-width: 768px) {
    .v2-accessory-1 {
        width: 7vw !important;
        right: 14% !important;
        top: 1% !important;
    }
    .v2-accessory-2 {
        width: 7vw !important;
        right: 81% !important;
        top: 60% !important;
    }
    .v2-accessory-3 {
        width: 10vw !important;
        right: 80% !important;
        top: 50% !important;
    }
    .v2-accessory-4 {
        width: 10vw !important;
        right: 13% !important;
        top: 35% !important;
    }
    
    /* 태블릿에서 텍스트 크기 조정 */
    .v2-banner-content {
        padding: 0 !important;
    }
    .v2-banner-text {
        font-size: max(2vw, 16px) !important;
    }
    .v2-banner-button {
        padding: 12px 30px !important;
        font-size: max(2vw, 14px) !important;
    }
    .v2-banner-text-section {
        padding: 30px 0 !important; /* 좌우 패딩 제거 */
    }
}

/* 작은 태블릿에서 악세사리 크기 조정 */
@media (max-width: 767.98px) and (min-width: 576px) {
    .v2-accessory-1 {
        width: 9vw !important;
        right: 10% !important;
        top: 1% !important;
    }
    .v2-accessory-2 {
        width: 9vw !important;
        right: 81% !important;
        top: 60% !important;
    }
    .v2-accessory-3 {
        width: 12vw !important;
        right: 80% !important;
        top: 50% !important;
    }
    .v2-accessory-4 {
        width: 12vw !important;
        right: 13% !important;
        top: 35% !important;
    }
    
    /* 작은 태블릿에서 텍스트 크기 조정 */
    .v2-banner-content {
        padding: 0 !important;
    }
    .v2-banner-text {
        font-size: max(2.5vw, 14px) !important;
        margin-bottom: 15px !important;
    }
    .v2-banner-button {
        padding: 10px 25px !important;
        font-size: max(2.5vw, 13px) !important;
    }
    .v2-banner-text-section {
        padding: 25px 0 !important; /* 좌우 패딩 제거 */
    }
}

/* 프로그램 섹션 태블릿 미디어 쿼리 */
@media (max-width: 1199.98px) and (min-width: 992px) {
    .v2-program-image {
        width: 80% !important;
    }
    .v2-program-section {
        padding: 40px 0 !important;
    }
    /* 첫 번째 이미지 태블릿 크기 */
    .v2-program-image:first-child {
        width: 13% !important;
        margin-left: 10% !important;
    }
}

/* 카드 슬라이드 태블릿 미디어 쿼리 */
@media (max-width: 1199.98px) and (min-width: 992px) {
    .v2-program-cards {
        padding: 80px 0 !important;
    }
    
    .v2-cards-container {
        max-width: 80% !important;
        padding: 0 !important;
    }
    
    .v2-cards-title {
        max-width: 80% !important;
    }
    
    .v2-cards-title img {
        width: 25% !important;
    }
    
    .v2-cards-next,
    .v2-cards-prev {
        width: 66px !important;
        height: 66px !important;
    }
    
    .v2-cards-next {
        right: 8% !important;
    }
    
    .v2-cards-prev {
        left: 8% !important;
    }
}

/* 모바일 및 태블릿에서 제목 이미지 크기 조정 */
@media (max-width: 767px) {
    .v2-program-cards {
        padding: 0 0 60px !important; /* 상단 패딩 제거하여 경계선 없애기 */
    }
    
    .v2-cards-container {
        max-width: 90% !important;
        padding: 0 !important;
    }
    
    .v2-cards-title {
        max-width: 90% !important;
        margin-bottom: 20px !important;
    }
    
    .v2-cards-title img {
        width: 40% !important;
    }
    
    .v2-cards-next,
    .v2-cards-prev {
        width: 44px !important;
        height: 44px !important;
    }
    
    .v2-cards-next {
        right: 5% !important;
    }
    
    .v2-cards-prev {
        left: 5% !important;
    }
}
