/* 간편견적 페이지 - 차량선택 영역 컴팩트 */

.page-title-wrap {padding-bottom: 46px; }



/* 단계 표시 - 컴팩트 */
.quote-steps {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
	
	margin-bottom: 60px; 
}

.quote-step {
	flex: 1; 
	display: flex;
	position: relative; 
	margin-left: -20px; 
	height: 56px; 
}

.quote-step:nth-of-type(1) {
	margin-left: 0;
	z-index: 3;
}
.quote-step:nth-of-type(2) {
	z-index: 2;
}
/* .quote-step:nth-of-type(3) {
	z-index: 1;
} */

.quote-step:after {
	display: block; clear: both; content: ''; width: 20px;  height: 100%; 
	background: url('/include/img/quote_step_img_off.svg') no-repeat center/ contain;
}

.quote-step:last-of-type:after {
	display: none;
}

.quote-step .wrap {
	flex: 1; 
	display: flex; 
	justify-content: center; 
	align-items: center; 
	gap: 4px;
	border-top: 1px solid #C8CBCF;
	border-bottom: 1px solid #C8CBCF;
	color: #525252; 
	font-size: 16px; 
	
	user-select: none;
	-webkit-user-select: none;
}

.quote-step:nth-of-type(1) .wrap {
	border-left: 1px solid #C8CBCF;
	border-radius: 12px 0 0 12px;
}
.quote-step:nth-of-type(2) .wrap {
}
.quote-step:last-of-type .wrap {
	padding-left: 20px; 
	border-right: 1px solid #C8CBCF;
	border-radius: 0 12px 12px 0;
}

.quote-step.active {}
.quote-step.active:after {
	background: url('/include/img/quote_step_img_on.svg') no-repeat center/ contain;
}

.quote-step.active .wrap {
	border-color: var(--primary-color);
	background: var(--primary-color);
	color: #FFF; 
}

.quote-step .step-num {font-size: 18px; font-weight: 500; }



/** 차량선택 */
#quote-main-cartype {padding: 60px 0 46px; background: #F7F8F9; }

.quote-cartype-title {}
.quote-cartype-title .pc-title {display: block; padding-bottom: 30px; font-size: 24px; font-weight: 500; }
.quote-cartype-title .mob-title {display: none; padding-bottom: 20px; font-size: 20px; font-weight: 600; }

.quote-cartype-content {
	border-radius: 16px; 
	background: #FFF; 
	box-shadow: 0px 6px 12px 0px rgb(48,48,59,0.06); 
	overflow: hidden; 
}

/* 차종 탭 - 컴팩트 */
.quote-cartype-tabs {
    display: flex;
	align-items: center; 
}

.quote-tab-btn {
	flex: 1; 
	height: 56px; 
	border: none; 
	border-bottom: 1px solid #EEEFF2;
	background: rgb(237, 238, 242, 0.8); 
	color: #666; 
	font-family: inherit;
	font-size: 18px; 
	font-weight: 500; 
    cursor: pointer;
    transition: all 0.25s ease;
}


.quote-tab-btn.active {
    background: #fff;
    color: var(--primary-color);
	font-weight: 600; 
}

/* 제조사 선택 섹션 - 컴팩트 */
.quote-section {
    margin-bottom: 6px;
    padding: 50px 70px;
}

.quote-brand-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 48px;
}

.quote-brand-btn {
	flex: 0 1 calc((100% - 30px) / 4); 
	display: flex; 
	justify-content: center; 
	align-items: center; 
	
	position: relative; 
	min-width: 72px; 
	max-width: 120px; 
	border-radius: 120px; 
	border: none; 
	background: #FFF; 
	color: #8B8B8B;
	font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.25s ease;
}
.quote-brand-btn:before {display: block; clear: both; content: ''; padding-bottom: 100%; }

.quote-brand-btn.active {
	background: #F8F9FA;
    color: #242424;
}

.quote-brand-info {
	display: flex; 
	flex-direction: column; 
	justify-content: center;
	align-items: center;
	
	position: absolute; 
	width: 100%; 
}

.quote-brand-btn .img {position: relative; width: 50%; margin: 0 auto; }
.quote-brand-btn .img:before {display: block; clear: both; content: ''; padding-bottom: 100%; }
.quote-brand-btn .img img {position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.quote-brand-btn.brand-all .img {background: url('/include/img/icon_brand_all_off.svg') no-repeat center/ calc((32 / 60) * 100%) auto; }
.quote-brand-btn.brand-all.active .img {background: url('/include/img/icon_brand_all_on.svg') no-repeat center/ calc((32 / 60) * 100%)  auto; }

.quote-brand-btn .name {}


/* 필터 행 - 컴팩트 (이달의 원픽 / 즉시출고) */
.quote-filter-row {
    display: flex;
    align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	
	padding: 46px 0 30px; 
}

.quote-filter-chk {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.quote-filter-chk input {
    width: 22px;
    height: 22px;
	border-color: #C8CBCF;
    accent-color: var(--primary-color);
}

.quote-filter-name {
	display: flex; 
	align-items: center; 
	gap: 5px; 
	
	line-height: 14px; 
	font-size: 14px; 
	font-weight: 600; 
}
.quote-filter-name:before {
	display: block; clear: both; content: ''; 
	width: 14px; height: 14px; 
}

#filterOnepick ~ .quote-filter-name {color: #196EFF; }
#filterImmediate ~ .quote-filter-name {color: #FF5C2B; }
#filterOnepick ~ .quote-filter-name:before {background: url('/include/img/icon_quote_label_onepick.svg') no-repeat center/ contain; }
#filterImmediate ~ .quote-filter-name:before {background: url('/include/img/icon_quote_label_immediate.svg') no-repeat center/ contain; }


.quote-vehicle-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 32px;
}

.quote-vehicle-card {
    background: #fff;
    border: 1px solid #DCDEE4;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.25s, border-color 0.25s, transform 0.2s;
    cursor: pointer;
}

.quote-vehicle-card.selected {
    border-color: var(--primary-color);
    box-shadow: 0 8px 24px rgba(25, 110, 255, 0.2);
    background: linear-gradient(180deg, #fafbff 0%, #fff 30%);
}

/* .quote-vehicle-img-wrap {
    position: relative;
    aspect-ratio: 312 / 208;
    background: #e5e7eb;
    overflow: hidden;
}

.quote-vehicle-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
} */
.quote-vehicle-img-wrap {
    position: relative;
	/* padding: 32px 14px 0;  */
	padding: 32px 0 0; 
    overflow: hidden;
}
.quote-vehicle-img-wrap img {
    width: 100%;
    aspect-ratio: 1280 / 600;
    object-fit: cover;
    display: block;
    
    transform: scale(1.1);
}

.quote-vehicle-tag-wrap {
	display: flex; 
	align-items: center; 
	gap: 10px;
	
    position: absolute;
    top: 14px;
    left: 14px;
}
.quote-vehicle-tag {
	display: flex; 
	align-items: center; 
	gap: 5px; 
	height: 28px; 
	line-height: 1; 
    padding: 0 8px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
}
.quote-vehicle-tag:before {
	display: block; clear: both; content: ''; 
	width: 14px; height: 14px; 
}

.quote-vehicle-tag.onepick {
    background: var(--primary-color);
}

.quote-vehicle-tag.onepick:before {
	background: #FFF; 
	mask: url('/include/img/icon_quote_cate_onepick.svg') no-repeat center/ contain;
}

.quote-vehicle-tag.immediate {
    background: #FF5C2B;
}

.quote-vehicle-tag.immediate:before {
	background: #FFF; 
	mask: url('/include/img/icon_quote_cate_immediate.svg') no-repeat center/ contain;
}

.quote-vehicle-info-wrap {
	padding: 20px 16px 24px;
}

.quote-vehicle-model {
	line-height: 1; 
    color: #121212;
    font-size: 16px;
    font-weight: 600;
}

.quote-vehicle-price {
	margin-top: 10px; 
	line-height: 1; 
    color: #3D3D3D;
    font-size: 14px;
	font-weight: 500; 
}

.quote-empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--text-muted);
    font-size: 15px;
}

.quote-next-wrap {
    text-align: center;
}

.btn-quote-next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
	
	width: 200px; 
	height: 60px; 
    background: var(--primary-color);
	border: 1px solid transparent;
    border-radius: 40px;
	color: #FFF; 
    font-size: 16px;
    font-weight: 500;
    transition: all 0.2s ease;
    box-shadow: 0 4px 14px rgba(30, 41, 59, 0.25);
}
.btn-quote-next:after {
	display: block; clear: both; content: ''; 
	width: 16px; height: 13px; 
	background: #FFF; 
	mask: url('/include/img/icon_quote_next_arrow.svg') no-repeat center/ contain;
	-webkit-mask: url('/include/img/icon_quote_next_arrow.svg') no-repeat center/ contain;
}


.btn-quote-next.disabled {
    background: #ECEDF0;
    color: #797D85;
    pointer-events: none;
    cursor: not-allowed;
    box-shadow: none;
}
.btn-quote-next.disabled:after {background: #797D85; }


.no-data-item {
	display: none;
	flex-direction: column; 
	justify-content: center; 
	align-items: center; 
}
.no-data-item:before {
	display: block; clear: both; content: ''; 
	width: 30px; height: 30px; 
	background: url('/include/img/icon_quote_list.svg') no-repeat center/ contain;
}
.no-data-item p {
	margin-top: 28px; 
	text-align: center; 
	color: #C8CBCF; 
	font-size: 16px; 
}

#quote-main-list.no-data .quote-vehicle-grid {
	grid-template-columns: 1fr;
	min-height: 40dvh; 
}
#quote-main-list.no-data .no-data-item {
	display: flex; 
}
#quote-main-list.no-data .quote-next-wrap {
	display: none;
}


@media (max-width: 1023px) {
	.quote-vehicle-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}


@media (max-width: 767px) {
	.quote-main {padding-bottom: 60px; }
	
	.quote-top {display: none; }
	.quote-cartype-title .pc-title {display: none; }
	.quote-cartype-title .mob-title {}
	
	#quote-main-cartype {padding: 36px 0; }
	.quote-section {padding: 24px 15px; }
	.quote-brand-btns {gap: 10px; }
	.quote-brand-btn {font-size: 12px; }
	
	.quote-filter-row {
		margin-bottom: 24px;
		padding: 20px 0 18px; 
		border-bottom: 1px solid #EDEDED;
		
	}
	
	.quote-vehicle-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px 10px; 
	}
	
	.quote-vehicle-tag {
		top: 5px;
		left: 5px; 
		height: 20px; 
		font-size: 8px; 
	}
	.quote-vehicle-tag:before {
		width: 8px; 
		height: 8px; 
	}
	
	.quote-vehicle-info-wrap {
		padding: 12px 10px; 
	}
	.quote-vehicle-model {
		font-size: 14px;
	}
	.quote-vehicle-price {
		font-size: 12px; 
	}
	
	.btn-quote-next {
		width: 124px; 
		height: 47px; 
		font-size: 14px; 
	}
}



@media (hover: hover) {
	.quote-tab-btn:hover {
		background: #fff;
		color: var(--primary-color);
	}
	
	.quote-brand-btn:hover {
		background: #F8F9FA;
		color: #242424;
	}
	
	.quote-vehicle-card:hover {
		border-color: rgba(37, 99, 235, 1);
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	}
	
	.btn-quote-next:hover {
		background: #F8FAFC;
		color: var(--primary-color);
		border-color: var(--primary-color);
		
		box-shadow: 0 6px 20px rgba(30, 41, 59, 0.3);
	}
	
	.btn-quote-next:hover:after {
		background: var(--primary-color);
	}
}