
/* =====================================================
   SHARECAR V2 - components.css
===================================================== */

/* ---------- RESET LINKS ---------- */
a{
    text-decoration:none;
    color:inherit;
}

img{
    max-width:100%;
    display:block;
}

button{
    border:none;
    background:none;
    cursor:pointer;
    font:inherit;
}

/* ---------- BUTTON ---------- */
/* 
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:16px 34px;
    border-radius:999px;
    font-weight:700;
    transition:.35s;
}

.btn-primary{
    background:#fff;
    border: 1px solid #81d8d0;
    color:#81D8D0;
}

.btn-primary:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 35px #81D8D0;
    color: #fff;
    font-weight: 700;
}

.btn-outline{
    border:2px solid rgba(255,255,255,.8);
    color:#ffffff;
}

.btn-outline:hover{
    background:#fff;
    color:#111;
} */

.contact-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:34px;
}
.contact-card{

padding:40px;

background:rgba(255,255,255,.08);

border-radius:24px;

backdrop-filter:blur(18px);

display:grid;

gap:18px;

}

.contact-feature{

display:flex;

align-items:center;

gap:14px;

font-size:18px;

font-weight:600;

}

.contact-feature span{

width:34px;

height:34px;

border-radius:50%;

background:#81D8D0;

color:#fff;

display:flex;

justify-content:center;

align-items:center;

}

/* ---------- FILTER ---------- */

.filter-btn,
.sort-btn{

    padding:12px 24px;
    border-radius:999px;
    background:#F8FBFB;
    transition:.3s;

}

.filter-btn.active,
.filter-btn:hover,
.sort-btn:hover{

    background:#81D8D0;
    color:#fff;

}

.car-list-status{
    width:min(1400px,92%);
    margin:0 auto;
    padding:42px 24px;
    border:1px solid var(--border);
    border-radius:24px;
    background:#fff;
    text-align:center;
    box-shadow:0 12px 36px rgba(0,0,0,.06);
}

.car-list-status[hidden]{
    display:none;
}

.car-list-status strong{
    display:block;
    color:var(--text);
    font-size:24px;
    font-weight:800;
}

.car-list-status p{
    margin-top:10px;
    color:var(--muted);
    font-size:16px;
}

.car-list-status[data-state="loading"] strong{
    color:var(--primary);
}

.car-list-status[data-state="error"]{
    border-color: #81D8D0;
    background:#fff8f3;
}

/* ---------- CAR CARD ---------- */

/* ===============================
   PREMIUM CAR CARD
================================ */

.car-card{

    position:relative;
    background:#fff;
    border-radius:30px;
    overflow:hidden;
    cursor:pointer;

   

    transition: .35s;
    border:1px solid #EDF5F4;

box-shadow:

0 12px 30px rgba(0,0,0,.05);

}

.car-card:hover{

    transform:translateY(-8px);

    box-shadow:

0 20px 45px rgba(129,216,208,.18);

}

                .car-card:hover img{

                    transform:scale(1.05);

                }

                .car-thumb{

    height:170px;

    display:flex;

    justify-content:center;

    align-items:center;

    overflow:hidden;

    background:#f5f5f5;

}

.car-thumb img{

    width:100%;

    height:100%;

    object-fit:contain;

    object-position:center;

    padding:0;

}


.car-card:hover .car-thumb img{

    transform:scale(1.12);

}

/* 검정 오버레이 */

.car-thumb::before{

    content:"";

    position:absolute;

    inset:0;

    background: rgba(0,0,0,.35);

    opacity:0;

    transition:.35s;

    z-index:2;

}

.car-card:hover .car-thumb::before{

    opacity:1;

}

/* DETAIL */
.car-thumb::after{

    content:"VIEW DETAIL";

    position:absolute;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#fff;

    font-size:22px;

    font-weight:700;

    letter-spacing:3x;

    opacity:0;

    z-index:5;

    pointer-events:none;

    text-align:center;
}
.car-card:hover .car-thumb::after{

    opacity:1;

}

/* 상태 */

.car-status{

    position:absolute;

    top:18px;

    right:18px;

    background:#81D8D0;
    
    box-shadow:

0 8px 20px rgba(129,216,208,.25);

    color:#fff;

    padding:8px 16px;

    border-radius:999px;

    font-size:12px;

    font-weight:700;

    letter-spacing:1px;

    z-index:5;

}

/* 내용 */

.car-info{

    padding: 22px;
    display:flex;
    text-align: center;
    flex-direction:column;

    height:100%;

}

.car-title{

    font-size:15px;

    font-weight:700;

    margin-bottom:14px;

    text-align:left;

    padding: 0 0 0 0;
}

.car-meta{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:10px;

    color:#505050;

    font-size: 14px;

    margin-bottom:10px;

    text-align: left;

    font-weight: 500;

    font-family: "Pretendard", sans-serif;
}

.car-meta span:not(:last-child)::after{

    content:"|";

    margin-left:10px;

    color:#d9d9d9;

}

.car-price{

    border-top:1px solid #ededed;

    padding-top:14px;

    text-align: left;

        display:block;

    margin-top:8px;

    font-size:28px;

    font-weight:800;

    color:#81D8D0;

    line-height:1.2;

}

.price-label{

    font-size:18px;

    color:#4e4e4e;

    margin-bottom:8px;
    font-weight: 700;

}


.car-price strong{


    font-size:20px;

    font-weight:800;

    color:#81d8d0;

}


.car-spec{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:14px;

    margin:26px 0;

}

.car-spec div{

    background:#f7f7f7;

    padding:14px;

    border-radius:14px;

}

.car-spec strong{

    display:block;

    font-size:13px;

    color:#888;

    margin-bottom:5px;

}

.car-action{

    margin-top:auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding-top:24px;

    border-top:1px solid #efefef;
}
.car-action small{

    display:block;

    color:#999;

    margin-bottom:6px;

    letter-spacing:1px;

}

.car-action strong{

    font-size:22px;

}

/* ---------- SERVICE ---------- */

.service-card{

    padding:45px 35px;
    border-radius:24px;
    background:#fff;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    transition:.35s;

}

.service-card:hover{

    transform:translateY(-10px);

}

.service-card .icon{

    width:80px;
    height:80px;
    margin:0 auto 25px;
    border-radius:50%;
    background:#81D8D0;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;

}

/* ---------- VIDEO ---------- */

.video-left span{
    font-weight: 700;
    font-size: 40px;
}




.video-buttons{
    display:flex;

    flex-direction:column;

    gap:18px;

    margin-top:32px;

    align-items:flex-start;
    
    position: relative;
}

.video-btn{

    position:relative;

    width:190px;

    height:60px;

    border-radius:18px;

    background:#f4f4f4;

    color:#333;

    font-weight:500;

    text-align:left;

    padding:0 24px;

    transition:.3s;
}
.video-btn strong{
    font-weight: 700;
    font-size: 30px;
    text-align: center;
}

.video-btn:hover,
.video-btn.active{
    background:var(--dark);
    color:#fff;
}

.video-btn:hover{
    transform:translateY(-2px);
}

.video-tooltip{

    position:absolute;

    left:210px;

    top:50%;

    transform:translateY(-50%);

    min-width:280px;

    padding:16px 20px;

    background:rgba(20,20,20,.95);

    color:#fff;

    border-radius:18px;

    box-shadow:0 15px 40px rgba(0,0,0,.25);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:20;

}

.video-tooltip::before{

    content:"";

    position:absolute;

    left:-10px;

    top:50%;

    transform:translateY(-50%);

    border-top:10px solid transparent;

    border-bottom:10px solid transparent;

    border-right:10px solid rgba(20,20,20,.95);

}

.video-btn.active .video-tooltip{

    opacity:1;

    visibility:visible;

}

/* ---------- EVENT ---------- */





/* ---------- TIMELINE ---------- */

.timeline-item{

    background:#fff;
    border-radius:24px;
    padding:35px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.number{

    width:72px;
    height:72px;
    margin:0 auto 25px;
    border-radius:50%;
    background:#81D8D0;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    font-weight:800;

}


.car-detail{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:18px;

    padding-top:16px;

    border-top:1px solid #EDF5F4;

    color:#81D8D0;

    font-size:15px;

    font-weight:700;

    transition:.3s;

}

.car-detail span:last-child{

    transition:.3s;

}

.car-card:hover .car-detail span:last-child{

    transform:translateX(6px);

}








/**********/




@keyframes modalUp{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


.modal-image img{

    width:100%;

    height:100%;

    object-fit:contain;

    transition:.4s;

}



.modal-info{

    padding: 26px 34px 34px;

    display:flex;

    flex-direction:column;

    justify-content: flex-start;

    padding: 50px;

}

.modal-info ul{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:18px;

    margin:30px 0;

    padding:0;

    list-style:none;

}
.modal-info ul li{
    background:#f8f8f8;
    border:1px solid #ececec;

    padding:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:80px;
    font-size:18px;
    font-weight:600;
    transition:.3s;
    flex-direction: column;

    list-style:none;
    padding:18px;

    border-radius:14px;

    text-align: center;

}

.modal-info li small{

    color:#888;

    font-size:17px;

    margin-bottom:8px;

}

.modal-info li strong{

    font-size:22px;

    color:#111;

}

.modal-info ul li:hover{

    transform:translateY(-4px);

    box-shadow:

        0 15px 35px rgba(0,0,0,.08);

}





#modal-price{


    margin-top:10px;
    margin-bottom: 10px;

    font-size: 28px;

    font-weight: 700;

    color:#ffffff;

    

}

.modal-subtitle{

    font-size:13px;

    letter-spacing:4px;

    color:#999;

    margin-bottom:30px;

}



.modal-spec{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:16px;

    margin:35px 0;

    padding:0;

    list-style:none;

}
.modal-spec li{

    background:#f8f8f8;

    border:1px solid #ececec;

    border-radius:18px;

    padding:22px;

    display:flex;

    flex-direction:column;

    gap:8px;

    transition:.3s;

}
.modal-spec li:hover{

    transform:translateY(-3px);

    box-shadow:

        0 12px 30px rgba(0,0,0,.08);

}

.modal-spec span{

    font-size:13px;

    color:#888;

    letter-spacing:1px;

}
.modal-spec strong{

    font-size:20px;

    color:#111;

    font-weight:700;

}


.modal-spec-item{

    background:#f8f8f8;

    padding:22px;

    border-radius:18px;

}
.modal-spec-item small{

    display:block;

    color:#888;

    margin-bottom:8px;

}
.modal-spec-item strong{

    font-size:20px;

    color: #111;
    font-weight: 700;

}
.modal-contact{

    margin-top:auto;

    width:100%;

    height:58px;

    border-radius:999px;

    background:#81D8D0;

    color:#fff;

    font-size:17px;

    font-weight:700;

}

.modal-close{
    position:sticky;
    top:20px;
    right:25px;
    width:48px;
    height:48px;
    border-radius:50%;
    background:#fff;
    font-size:28px;
    box-shadow:0 10px 25px rgba(0,0,0,.15);

}

.modal-buttons .btn{

    width:100%;

    height:58px;

    justify-content:center;

    margin-top: 5px;

}
.modal-close{

    position:absolute;

    top:24px;

    right:24px;

    width:52px;

    height:52px;

    border-radius:50%;

    background:#fff;

    box-shadow:

        0 10px 25px rgba(0,0,0,.15);

    transition:.3s;

}
.modal-close:hover{

    transform:rotate(90deg);

}

/* Modal 전용 Outline 버튼 */

.modal-info .btn-outline{

    border:2px solid #111;

    color:#111;

    background:#fff;

}

.modal-info .btn-outline:hover{

    background:#111;

    color:#fff;

}



/* ==============================
   Pagination
============================== */

.car-pagination{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:30px;

    margin-top:50px;

}

.page-btn{

    width:46px;

    height:46px;

    border-radius:50%;

    border:1px solid #ddd;

    background:#fff;

    cursor:pointer;

    transition:.3s;

}

.page-btn:hover{

    background:#111;

    color:#fff;

}
.page-btn:disabled{

    opacity:.3;

    cursor:not-allowed;

}

.page-btn:disabled:hover{

    background:#fff;

    color:#111;

}

.page-indicator{

    display:flex;

    gap:10px;

}

.page-dot{

    width:10px;

    height:10px;

    border-radius:50%;

    background:#ddd;

}

.page-dot.active{

    background:#111;

}


/* ---------- FOOTER ---------- */

footer ul{

    list-style:none;
    display:grid;
    gap:10px;

}

footer h4{

    margin-bottom:20px;

}



/* ==========================================================
   MODAL V2
========================================================== */

.car-modal{
 position:fixed;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(0,0,0,.65);

    backdrop-filter:blur(8px);

    z-index:9999;

    opacity:0;

    visibility:hidden;

    transition:.3s;



}

.car-modal.show{
    opacity:1;
    visibility:visible;
}

.modal-wrap{

    width:min(720px,92vw);



    background:#fff;

    border-radius:26px;

    overflow:hidden;

    position:relative;

    display:block;      /* 추가 */

    margin: 60px auto 40px;      /* 추가 */

}


/* 닫기 */

.modal-close{

    position:absolute;

    top:18px;

    right:18px;

    width:42px;

    height:42px;

    border:none;

    border-radius:50%;

    background:#fff;

    font-size:24px;

    cursor:pointer;

    z-index:20;

}


/* 브랜드 */

.modal-brand{

    display:flex;
    flex-direction:column;

    align-items:center;

    padding:14px 0 0;

    border-bottom:1px solid #f4f4f4;

}

.modal-brand-top{

    display:flex;

    align-items:center;

    justify-content:center;

    gap: 0px;

    margin-bottom:0px;
}



#modal-brand-model{

    margin:0;

    font-size:24px;

    font-weight:700;

    color:#111;

    line-height:1.2;

    text-align:center;
}


.modal-brand-text{

    display:flex;
    flex-direction:column;

    align-items:center;

}

#modal-brand-model{

    margin: 0 0 0;

    font-size:24px;

    font-weight:700;

    color:#111;

    line-height:1.2;

}

.modal-header{

    padding:30px 24px 22px;

    display:flex;
    flex-direction:column;
    align-items:center;

    border-bottom:1px solid #f0f0f0;
}

.modal-header span{

    display:block;

    font-size:15px;

    color:#888;

    font-weight:500;

    margin-bottom:6px;

    /* text-transform:uppercase; */
}

.modal-header h2{

    font-size:22px;
    font-weight:600;
    line-height:1.2;
    margin-bottom:6px;
}



.modal-brand-logo{


    width: 80px;
    height: 80px;

    flex-shrink:0;

    object-fit:contain;

    display:block;


}

.modal-brand-logo,
.brand-logo{

    height:42px;
    width:auto;
    object-fit:contain;
    display:block;

}
.brand-lincoln{
width: 90px;
}
.brand-hyundai{
width: 120px;
height: 30px;
}
.brand-audi{
    height: 36px
}
/* .brand-bmw{
    width: 100px;
    height: 60px;
} */

/* Bentley */
.brand-bentley{
    width:110px;
}

/* Genesis */
.brand-genesis{
    width:120px;
    height: 20px;
}

.brand-landrover{
    width:90px;
    height: 50px;
}

/* Jaguar */
.brand-jaguar{
    width:90px;

}

/* Kia */
.brand-kia{
    width:50px;
    height: 20px;

}

.brand-landrover{
    width: 100px;
    height: 50px;
}


.modal-brand-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

#modal-brand-name{
    display: none;
}



.modal-brand-name{

    font-size:14px;

    font-weight:600;

    /* letter-spacing: .5px; */

    text-transform:uppercase;

    color:#838282;

    font-family: "Pretendard", sans-serif;

    margin-bottom: 5px;
}




/* 이미지 */

.modal-image{

    position:relative;

    width:100%;

    height: 260px;

    overflow: hidden;

    aspect-ratio:16/9;

    background:#f5f5f5;

    overflow:hidden;

}








/* 내용 */

.modal-info{

    padding: 0px 28px;

}




.modal-specs{


    display: flex;

    background:#f8f8f8;

    border-radius:18px;

    overflow:hidden;

    margin-bottom:24px;

}

.spec-item{

    flex: 1;

    padding:12px 8px;

    text-align:center;

    border-right:1px solid #ececec;

}
.spec-item img{
    width: 40px;
    margin: 0 auto;
}

.spec-item:last-child{

    border-right:none;

}

.spec-item span{

    display:block;

    font-size:15px;

    color:#888;

    margin-bottom:4px;
    font-weight:600;

}

.spec-item strong{

    font-size:15px;

    font-weight:700;

}


/* 선납금 */

.modal-price-box{
    margin:0px 0;
}
.modal-price-box h4{

    margin-bottom:16px;

    font-size:18px;

    font-weight:700;

    color:#111;

}

.modal-price-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:10px;

}

.modal-price-card{

    background:#ffffff;

    border:2px solid #c7c7c7;

    border-radius:18px;

    padding: 14px 12px;

    text-align:center;

    transition:.3s;

    display: flex;

    

    

}

.modal-price-card:hover{

    border-color: #81d8d0;

    transform:translateY(-2px);

}

.modal-price-card span{


    color:#000000;

    font-size: 19px;

    font-weight: 600;

    margin-right: 4px;

    margin-left: 40px;
    margin-top: 3px;
}

.modal-price-card strong{

    display:block;

    color:#81D8D0;

    font-size:22px;

    font-weight:700;

}

/* 버튼 */

.modal-buttons{

    display:block;

}

.modal-buttons .btn{

    width:100%;

    height:62px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:16px;

    font-size: 22px;

    font-weight: 600;

    margin-bottom: 10px;
}

.modal-buttons .btn-primary
{border: 2px solid #81D8D0;}
