@charset "utf-8";

.sec1 {
    padding: 40px 0 28px;
    margin-top: 100px;
    background: #f9f9f9;
}

.sec1_1 {
    padding: 100px 0;
    background: #fff;
}

.sec2 {
    padding: 100px 0;
    background: linear-gradient(180deg, #FFFFFF 0%, #b4c1dd80 61%, #FFFFFF 95%);
}
.sec3 {
    padding: 100px 0;
    background: #fff;
}

.sec4 {
    padding: 100px 0;
    background: #f9fafb;
}

.sec2-more-wrap {
    margin-top: 40px;
    display: flex;
    justify-content: center;
}

.sec2-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 30px;
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 50px;
    color: #333333;
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.sec2-more-btn:hover {
    background-color: #fafafa;
    border-color: #d0d0d0;
}

.sec2-more-btn__ico {
    display: inline-flex;
    flex-shrink: 0;
}

.sec2-more-btn__ico svg {
    width: 20px;
    height: 20px;
    display: block;
}

.sec5 {
    padding: 100px 0;
}

@media (max-width:768px) {
    .sec2 {
        padding: 80px 0;
    }

    .sec4 {
        padding: 80px 0;
    }

    .sec3 {
        padding: 0 0 80px;
    }
    .sec5 {
        padding: 80px 0;
    }
}

.inner-144 {
    max-width: 1440px;
    margin: 0 auto;
}

.inner-128 {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
}

#main .section-grid {

}

#main .gnb-anchor {
    scroll-margin-top: var(--header-offset);
    height: 0;
    overflow: hidden;
    pointer-events: none;
}

.sec-title {
    margin-bottom: 50px;
    text-align: center;
}

.sec-title h2 {
    font-size: 2.4rem;
    line-height: 1;
    margin-bottom: 16px;
}

/* 메인 공통 섹션 타이틀 — 인기 TOP 10(.sec1_1-title) 타이포와 동일 */
#main .main-section-title {
    margin-bottom: 32px;
}

#main .main-section-title h2 {
    font-size: 1.8rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 8px;
    line-height: 1.25;
}

#main .main-section-title p {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.6;
    color: #666;
}

#main .main-section-title.main-section-title--align-left {
    text-align: left;
}

#main .main-section-title.main-section-title--center {
    text-align: center;
}

/* 타이틀만 적용·블록 여백은 부모가 담당 */
#main .sec2 .sub-title .main-section-title,
#main .sec4 .sec4-review-intro .main-section-title {
    margin-bottom: 0;
}

@media (max-width: 768px) {
    #main .main-section-title {
        margin-bottom: 22px;
    }

    #main .main-section-title h2 {
        font-size: 1.6rem;
    }

    #main .sec2 .sub-title .main-section-title,
    #main .sec4 .sec4-review-intro .main-section-title {
        margin-bottom: 0;
    }
}

@media (max-width: 480px) {
    #main .main-section-title h2 {
        font-size: 1.4rem;
    }
}


.sec1 .inner-128 {
    position: relative;
}

.sec1 .sec1Swiper {
    overflow: hidden;
    padding-bottom: 0;
}

.sec1 .swiper-slide {
    height: auto;
}

.sec1 .sec1-card {
    position: relative;
    display: block;
    width: 100%;
    height: 460px;
    border-radius: 28px;
    overflow: hidden;
    text-decoration: none;
    color: #fff;
}

.sec1 .sec1-card .bg {
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transform: scale(1);
    transition: transform .45s ease;
}

.sec1 .sec1-card .dim {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 15, 26, .14) 0%, rgba(7, 15, 26, .76) 100%);
}

.sec1 .sec1-card .txt {
    position: absolute;
    left: 34px;
    right: 34px;
    bottom: 34px;
    z-index: 2;
}

.sec1 .sec1-card .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 14px;
    margin-bottom: 14px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    background: #233bd7;
}

.sec1 .sec1-card .eyebrow {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.3;
    margin: 0 0 12px;
    color: rgba(255, 255, 255, 0.88);
}

.sec1 .sec1-card h2 {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.18;
    font-weight: 700;
    color: #fff;
}

.sec1 .sec1-card .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 22px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 999px;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(1.4px);
}

.sec1 .sec1-card:hover .bg {
    transform: scale(1.04);
}

.sec1 .sec1-pager {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 24px;
    padding: 12px 28px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 6px 22px rgba(15, 34, 58, 0.08);
}

.sec1 .sec1-page {
    position: static !important;
    bottom: auto !important;
    left: auto;
    right: auto;
    width: auto;
    display: flex;
    align-items: center;
    gap: 14px;
}

.sec1 .sec1-page .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 !important;
    opacity: 1;
    background: #d0d0d0;
    border-radius: 999px;
    transition: background 0.2s ease, width 0.2s ease;
}

.sec1 .sec1-page .swiper-pagination-bullet-active {
    width: 36px;
    border-radius: 999px;
    background: #0b376f;
}

.sec1 .sec1-count {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    font-weight: 800;
    color: #222;
}

.sec1 .sec1-count strong {
    font-size: 1rem;
    font-weight: 800;
    color: #111;
}

.sec1 .sec1-count span {
    font-size: 1rem;
    font-weight: 800;
    color: #9aa0a6;
}

.sec1 .sec1-count em {
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    color: #9aa0a6;
}

@media (max-width:1024px) {
    .sec1 .sec1-card {
        height: 420px;
    }

    .sec1 .sec1-card .txt {
        left: 24px;
        right: 24px;
        bottom: 24px;
    }

    .sec1 .sec1-card h2 {
        font-size: 2.7rem;
    }
}

@media (max-width:768px){
    .sec-title h2 {
        font-size: 1.8rem;
    }

    .sec1 {
        padding: 20px 0 20px;
        margin-top: 0;
    }

    .sec1 .sec1-pager {
        gap: 16px;
        margin-top: 16px;
        padding: 10px 18px;
    }

    .sec1 .sec1-page {
        gap: 8px;
    }

    .sec1 .sec1-page .swiper-pagination-bullet {
        width: 7px;
        height: 7px;
    }

    .sec1 .sec1-page .swiper-pagination-bullet-active {
        width: 24px;
    }

    .sec1 .sec1-count strong,
    .sec1 .sec1-count span,
    .sec1 .sec1-count em {
        font-size: 1rem;
    }

    .sec1 .sec1-card {
        height: 360px;
        border-radius: 20px;
    }

    .sec1 .sec1-card .txt {
        left: 20px;
        right: 20px;
        bottom: 20px;
    }

    .sec1 .sec1-card .badge {
        min-height: 28px;
        padding: 0 12px;
        margin-bottom: 10px;
        font-size: 12px;
    }

    .sec1 .sec1-card .eyebrow {
        font-size: 1.3rem;
        margin-bottom: 8px;
    }

    .sec1 .sec1-card h2 {
        font-size: 1.6rem;
    }

    .sec1 .sec1-card .btn {
        min-height: 38px;
        margin-top: 16px;
        padding: 0 14px;
        font-size: 1.2rem;
    }
}

.sec2 .sub-title {
    margin-bottom: 32px;
}

.text-banner {}

.text-banner .banner-box {
    position: relative;
    border-radius: 12px;
    padding: 40px 60px;
    overflow: hidden;
    background: linear-gradient(90deg, #c33636 0%, #5c2121 100%);
    display: flex;
    align-items: center;
    min-height: 160px;
}

/* 우측 원형 느낌 */
.text-banner .banner-box::after {
    content: "";
    position: absolute;
    right: -150px;
    top: 50%;
    transform: translateY(-50%);
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
}

/* 배경 이미지 영역 (네가 background-image 넣으면 됨) */
.text-banner .banner-box {
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
}

.text-banner .banner-content {
    position: relative;
    z-index: 2;
    color: #fff;
}

.text-banner .sub {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 12px;
}

.text-banner .title {
    font-size: 1.6rem;
    font-weight: 800;
    margin: 0;
}

/* .sec5 문의 카드 (dev theme 이식) */
.sec5 .inquiry-wrap {
    display: flex;
    gap: 20px;
}

.sec5 .inquiry-card {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 32px;
    border-radius: 20px;
    background: linear-gradient(135deg, #f9f9f9 0%, #e4ebf5 50%, #e3edfb 100%);
    text-decoration: none;
    transition: 0.2s;
    border: 1px solid #e4ebf5;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
}

.sec5 .inquiry-card:hover {
    transform: translateY(-4px);
}

.sec5 .inquiry-card .txt {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sec5 .inquiry-card .sub {
    font-size: 1rem;
    color: #666;
}

.sec5 .inquiry-card .tit {
    font-size: 1.6rem;
    font-weight: 700;
    color: #4d5567;
}

.sec5 .inquiry-card .ico img {
    width: 100px;
    height: auto;
}

@media (max-width: 768px) {
    .sec5 .inquiry-wrap {
        flex-direction: column;
    }

    .sec5 .inquiry-card {
        padding: 24px;
    }

    .sec5 .inquiry-card .ico img {
        width: 90px;
    }
}

/*
 * 메인 index 전용 — #section-car-search.sec2 안의 #car-search-widget.estimate-search-page--embed 만 대상
 * car_search.php(그리드)에는 적용되지 않음
 */
.sec2 .estimate-search-page--embed .step1-car-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.sec2 .estimate-search-page--embed .step1-car-heading-row .sec-ttl.section-desc.list-count {
    margin-bottom: 0;
    flex: 1;
    min-width: 0;
}

.sec2 .estimate-search-page--embed .step1-car-heading-row .index-car-nav {
    margin-top: 0;
    flex-shrink: 0;
}

/* 차량 리스트 Swiper — estimate.css 그리드와 충돌 방지 */
.sec2 .estimate-search-page--embed .estimate-index-car-swiper {
    position: relative;
    margin-top: 0;
}

.sec2 .estimate-search-page--embed .estimate-index-car-swiper .swiper.indexCarSwiper {
    overflow: hidden;
}

.sec2 .estimate-search-page--embed .estimate-index-car-swiper ul.car-list.swiper-wrapper {
    display: flex;
    grid-template-columns: unset;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sec2 .estimate-search-page--embed .estimate-index-car-swiper .swiper-slide.car {
    height: auto;
    box-sizing: border-box;
}

.sec2 .estimate-search-page--embed .index-car-nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
}

.sec2 .estimate-search-page--embed .index-car-nav button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: #1c3557;
    background: #f0f4fa;
    border: 1px solid #d9e1ec;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}

.sec2 .estimate-search-page--embed .index-car-nav button svg {
    width: 22px;
    height: 22px;
    display: block;
}

.sec2 .estimate-search-page--embed .index-car-prev svg {
    transform: rotate(180deg);
}

.sec2 .estimate-search-page--embed .index-car-nav button:hover:not(:disabled) {
    background: #e4edf7;
    border-color: #c5d0e0;
}

.sec2 .estimate-search-page--embed .index-car-nav button:disabled {
    opacity: 0.35;
    cursor: default;
}

/* ========== 메인만: 인기 TOP 10 (.sec1_1) — 타이틀 타이포는 .main-section-title ========== */

.sec1_1 .sec1_1PopularSwiper {
    overflow: hidden;
    margin: 0 -4px;
    padding: 4px 4px 12px;
}

.sec1_1 .sec1_1PopularSwiper .swiper-slide {
    height: auto;
    box-sizing: border-box;
}

.sec1_1-card {
    height: auto;
    min-height: 0;
}

.sec1_1-card-link {
    position: relative;
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 0;
    background: #fff;
    border: 1px solid #eceef2;
    border-radius: 20px;
    overflow: hidden;
    text-decoration: none;
    color: #111;
    box-shadow: 0 4px 18px rgba(17, 24, 39, 0.06);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
    box-sizing: border-box;
}

.sec1_1-card-link:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 34px rgba(17, 24, 39, 0.1);
}

/* .sec3 .fast-car-card .fast-badge 와 동일 — 좌측 상단 탭 형태 */
.sec1_1-rank {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    background: #111;
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1;
    border-radius: 0 0 10px 0;
}

.sec1_1-thumb {
    flex-shrink: 0;
    height: 148px;
    padding: 14px 16px;
    background: linear-gradient(180deg, #f9fafb 0%, #f3f5f8 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.sec1_1-thumb img {
    max-width: 100%;
    max-height: 112px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.sec1_1-meta {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 12px 16px 14px;
    min-height: auto;
}

/* 브랜드 로고 + 차량명 한 줄 */
.sec1_1-car-line {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-height: auto;
    margin-bottom: 10px;
}

.sec1_1-brand-logo {
    width: 24px;
    height: 24px;
    object-fit: contain;
    flex-shrink: 0;
}

.sec1_1-car-name {
    margin: 0;
    flex: 1;
    min-width: 0;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.38;
    color: #111827;
    word-break: keep-all;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sec1_1-price {
    margin: 0;
    padding: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #27282b;
    letter-spacing: -0.02em;
}

.sec1_1-empty {
    margin: 0;
    padding: 40px 16px;
    text-align: center;
    font-size: 1rem;
    color: #6b7280;
}

@media (max-width: 768px) {
    .sec1_1 {
        padding: 60px 0;
    }

    .sec1_1-thumb {
        height: 132px;
        padding: 12px 14px;
    }

    .sec1_1-thumb img {
        max-height: 100px;
    }

    .sec1_1-meta {
        padding: 10px 14px 12px;
    }
}

/* 상담 모달 연결(.gp-consult-open) — 링크 스타일 초기화 */
.bnn-wrap a.inner {
    display: block;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.bnn-wrap a.inner:focus-visible {
    outline: 2px solid var(--primary, #c33636);
    outline-offset: 3px;
}

/* index — 이미지 배너 (.bnn-wrap.bnn01 > a.inner > img) */
.bnn01 {
    text-align: center;
}

.bnn01 .inner {
    display: block;
    max-width: 1280px;
    margin: 0 auto;
}

.bnn01 .inner img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

@media (max-width: 768px) {
    .bnn01 .inner {
        width: 100%;
    }

    .bnn01 .inner img {
        width: 100%;
        height: auto;
    }
}

/* 메인 index — 최저가 출고(.sec3), budget_list 페이지 스타일 미적용 */


.sec3 .sec3-budget-panel {
    margin-top: 8px;
}

.sec3 .sec3-budget-inner {
    margin-top: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sec3 .sec3-brand-sec {
    margin-bottom: 0;
}

.sec3 .estimate-step1 .brand-sec {
    margin-bottom: 0;
}

.sec3 .sec3-budget-car-sec {
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 28px 24px 32px;
    margin-bottom: 0;
    background: #fff;
}

/* 렌트/리스 탭 — estimate-step1과 동일 규칙을 .sec3 안에서 확실히 적용 */
.sec3 .sec3-budget-product-tabs.brand-type-tabs {
    display: flex;
    align-items: center;
    gap: 34px;
    margin-bottom: 20px;
    padding: 0;
    border-bottom: 1px solid #ebebeb;
}

.sec3 .sec3-budget-product-tabs .tab {
    border: 0;
    background: transparent;
    padding: 0 0 10px;
    font-size: 1.1rem;
    font-weight: 500;
    color: #8a8a8a;
    cursor: pointer;
    border-bottom: 2px solid transparent;
}

.sec3 .sec3-budget-product-tabs .tab.on {
    color: #111;
    font-weight: 700;
    border-bottom-color: #111;
}

.sec3 .sec3-budget-chip-swiper {
    overflow: hidden;
}

.sec3 .sec3-budget-chip-swiper .swiper-wrapper {
    display: flex;
    align-items: center;
}

.sec3 .sec3-budget-chip-swiper .swiper-slide {
    width: auto;
    flex-shrink: 0;
}

.sec3 .sec3-budget-range {
    min-width: 122px;
    justify-content: center;
    border: 1px solid #ddd;
    background: #fff;
    color: #333;
    white-space: nowrap;
}

.sec3 .sec3-budget-range .logo {
    display: none;
}

.sec3 .sec3-budget-range.on {
    background: #111;
    color: #fff;
    border-color: #111;
}

.sec3 .sec3-budget-range.on .name {
    color: #fff;
}

.sec3 .sec3-budget-range.on::after {
    opacity: 0;
}

.sec3 .sec3-budget-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.sec3 .sec3-budget-heading-row .sec-ttl.section-desc.list-count {
    margin-bottom: 0;
    flex: 1;
    min-width: 0;
    text-align: left;
}

.sec3 .sec3-budget-car-nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    margin-top: 0;
}

.sec3 .sec3-budget-car-nav button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: #1c3557;
    background: #f0f4fa;
    border: 1px solid #d9e1ec;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}

.sec3 .sec3-budget-car-nav button svg {
    width: 22px;
    height: 22px;
    display: block;
}

.sec3 .sec3-budget-prev svg {
    transform: rotate(180deg);
}

.sec3 .sec3-budget-car-nav button:hover:not(:disabled) {
    background: #e4edf7;
    border-color: #c5d0e0;
}

.sec3 .sec3-budget-car-nav button:disabled {
    opacity: 0.35;
    cursor: default;
}

.sec3 .sec3-budget-car-swiper {
    overflow: hidden;
    padding-bottom: 8px;
}

.sec3 .sec3-budget-slide {
    height: auto;
    box-sizing: border-box;
}

.sec3 .sec3-budget-slide .car {
    height: 100%;
}

.sec3 .fast-car-card {
    border: 1px solid #e7ebf1;
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sec3 .fast-car-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 24px rgba(13, 23, 39, 0.08);
}

.sec3 .fast-car-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.sec3 .fast-car-card .thumb {
    position: relative;
    width: 100%;
    height: 210px;
    padding: 16px;
    background: #f7f9fc;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sec3 .fast-car-card .thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.sec3 .fast-car-card .fast-badge {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    background: #111;
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1;
    border-radius: 0 0 10px 0;
}

.sec3 .fast-car-card .info {
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.sec3 .fast-car-card .brand-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 34px;
    padding: 0 12px;
    border: 1px solid #d9e1ec;
    border-radius: 999px;
    background: #f7fbff;
}

.sec3 .fast-car-card .brand-wrapper img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.sec3 .fast-car-card .brand-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: #30415f;
}

.sec3 .budget-price-wrap {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 1rem;
    line-height: 1.35;
    color: #111;
}

.sec3 .budget-price-wrap .label {
    font-size: 0.95rem;
    font-weight: 600;
    color: #4b5563;
}

.sec3 .budget-price-wrap .value {
    font-size: 1.05rem;
    font-weight: 700;
    color: #111;
}

.sec3 .budget-cond-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.sec3 .budget-cond-chips span {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 6px;
    background: #f5f5f5;
    color: #666;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
}

.sec3 .fast-car-card .btn-cta {
    width: 100%;
    height: 44px;
    border-radius: 10px;
    background: #dff1ff;
    color: #1c3557;
    font-size: 0.95rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sec3 #sec3-budget-empty-msg {
    margin-top: 16px;
}

.sec3 .sec3-budget-no-cars {
    margin-top: 16px;
    text-align: center;
}

@media (max-width: 768px) {
    .sec3 .sec3-budget-range {
        min-width: 108px;
    }

    .sec3 .fast-car-card .thumb {
        height: 180px;
    }
}

/* 메인 index — 고객 후기 Swiper (.sec4) */
.review-modal-root.review-wrap {
    background: transparent;
    margin: 0;
    padding: 0;
    max-width: none;
}



.sec4 .sec4-review-intro {
    margin-bottom: 36px;
}

.sec4 .sec4-review-intro .sec-title.sec4-review-title-block {
    margin-bottom: 0;
    text-align: center;
}

.sec4 .sec2-more-wrap.sec4-review-more-wrap {
    margin-top: 40px;
    margin-bottom: 0;
}

.sec4 .sec4-review-cards-wrap {
    margin: 0;
    padding: 0;
    background: transparent;
    overflow: visible;
}

.sec4 .inner-128 {
    overflow: visible;
}

/* rc1003 .main-review-swiper-wrap 과 동일 — 버튼이 카드 영역 좌우 가장자리에 반쯤 걸침 */
.sec4 .main-review-swiper-wrap.sec4-review-swiper-wrap {
    position: relative;
    overflow: visible;
    z-index: 1;
    padding: 8px 0 16px;
}

.sec4 .main-review-swiper-wrap .main-review-prev,
.sec4 .main-review-swiper-wrap .main-review-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 8;
    width: 3.5rem;
    height: 3.5rem;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.15);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

.sec4 .main-review-swiper-wrap .main-review-prev {
    left: -1.75rem;
}

.sec4 .main-review-swiper-wrap .main-review-next {
    right: -1.75rem;
}

.sec4 .main-review-swiper-wrap .main-review-prev.swiper-button-disabled,
.sec4 .main-review-swiper-wrap .main-review-next.swiper-button-disabled,
.sec4 .main-review-swiper-wrap .main-review-prev.swiper-button-lock,
.sec4 .main-review-swiper-wrap .main-review-next.swiper-button-lock {
    opacity: 0.32;
    pointer-events: none;
    cursor: default;
}

.sec4 .main-review-swiper-wrap .main-review-prev:focus-visible,
.sec4 .main-review-swiper-wrap .main-review-next:focus-visible {
    outline: 2px solid #111;
    outline-offset: 2px;
}

.sec4 .main-review-nav-icon {
    display: block;
    width: 0.625rem;
    height: 0.625rem;
    box-sizing: border-box;
}

.sec4 .main-review-nav-icon--prev {
    border-left: 2px solid #222;
    border-bottom: 2px solid #222;
    transform: rotate(45deg);
    margin-left: 0.25rem;
}

.sec4 .main-review-nav-icon--next {
    border-right: 2px solid #222;
    border-bottom: 2px solid #222;
    transform: rotate(-45deg);
    margin-right: 0.25rem;
}

.sec4 .sec4ReviewSwiper {
    overflow: hidden;
}

.sec4 .sec4-review-slide {
    height: auto;
    box-sizing: border-box;
}

/* 카드형: 메인 슬라이드에서는 썸네일 숨김(텍스트 위주). 리뷰 페이지 목록 스타일은 그대로 유지 */
.sec4 .review-wrap .review-thumb {
    display: none;
}

.sec4 .review-wrap .review-top {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

.sec4 .review-wrap .review-card {
    height: 100%;
}

@media (max-width: 768px) {
    .sec4 .main-review-swiper-wrap .main-review-prev,
    .sec4 .main-review-swiper-wrap .main-review-next {
        width: 2.75rem;
        height: 2.75rem;
    }

    .sec4 .main-review-swiper-wrap .main-review-prev {
        left: -1rem;
    }

    .sec4 .main-review-swiper-wrap .main-review-next {
        right: -1rem;
    }
}