:root{
	--car-primary: #0d6efd;
	--car-primary-hover: #0b5ed7;
	--car-danger: #ca1d1e;
	--car-dark: #333;
	--car-bg-light: #f7f8f9;
	--car-border: #cecece;
	--car-title-blue: #0b4a99;
}
.car-app-container{
	border-radius: 8px;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
}
/* Tabs Header */
.car-app-container .tab-header{
	display: flex;
	background: #e9ecef;
	border-bottom: 3px solid var(--car-border);
}
.car-app-container .tab-btn{
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px;
	font-size: 16px;
	font-weight: 600;
	color: #013579;
	cursor: pointer;
	transition: all 0.2s;
	background: transparent;
	border: none;
}
.car-app-container .tab-btn:nth-child(2){
	border-left: 1px solid #fff;
    border-right: 1px solid #fff;
}
.car-app-container .tab-btn.active{
	background: #fff;
	color: var(--car-primary);
	margin-bottom: -3px;
	border-bottom: 3px solid var(--car-primary);
}
.car-app-container .badge-count{
	color: #fff;
	font-size: 12px;
	padding: 2px 8px;
	border-radius: 10px;
	background: var(--car-danger);
}
.car-app-container .tab-pane{
	display: none;
	padding: 25px;
}
.car-app-container .tab-pane.active{
	display: block;
}
/* Tab Layout Standard */
.car-app-container .calc-grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}
@media (max-width: 850px){
	.car-app-container .calc-grid{
		grid-template-columns: 1fr;
	}
}
.car-app-container .form-group{
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 16px;
}
.car-app-container .form-group label{
	font-size: 14px;
	font-weight: 600;
	color: #013579;
}
.car-app-container .form-control{
	width: 100%;
	font-size: 15px;
	padding: 8px 12px;
	background: #fff;
	border-radius: 6px;
	border: 1px solid #ced4da;
}
.car-app-container .form-control:disabled{
	background: #e9ecef;
	cursor: not-allowed;
}

/* Radio button cá nhân / doanh nghiệp */
.car-app-container .btn-toggle-group{
	display: flex;
	gap: 10px;
}
.car-app-container .btn-toggle-group input[type="radio"]{
	display: none;
}
.car-app-container .btn-toggle-group label{
	flex: 1;
	padding: 10px;
	text-align: center;
	font-weight: 600;
	cursor: pointer;
	border-radius: 6px;
	background: #f8f9fa;
	border: 1px solid #ced4da;
}
.car-app-container .btn-toggle-group input[type="radio"]:checked + label{
	color: #fff;
	border-color: var(--car-primary);
	background: var(--car-primary);
}

/* Selected Car Preview Card */
.car-app-container .selected-car-card{
	display: flex;
	gap: 15px;
	padding: 10px;
	border-radius: 8px;
	margin-bottom: 16px;
	align-items: center;
	background: var(--car-bg-light);
	border: 1px solid var(--car-border);
}
.car-app-container .car-thumb-box{
	width: 150px;
	height: 90px;
	flex-shrink: 0;
	overflow: hidden;
	background: #e0e0e0;
	border-radius: 6px;
}
.car-app-container .car-thumb-box img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.car-app-container .car-info-detail{
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.car-app-container .car-info-detail h4 a{
	color: var(--car-primary);
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
}
.car-app-container .car-info-detail .price-text{
	color: var(--car-danger);
	font-size: 16px;
	font-weight: 700;
}
.car-app-container .fuel-badge{
	font-size: 11px;
	font-weight: 700;
	display: inline-block;
	padding: 2px 8px;
	width: fit-content;
	border-radius: 4px;
	text-transform: uppercase;
}
.car-app-container .fuel-badge.dien{ background: #d1e7dd; color: #0f5132; }
.car-app-container .fuel-badge.xang{ background: #fff3cd; color: #664d03; }
.car-app-container .fuel-badge.dau{ background: #e2e3e5; color: #41464b; }

/* Bảng tính chi phí Tab 1 */
.car-app-container .cost-summary-card{
	padding: 20px;
	border-radius: 8px;
	background: #fff;
	border: 1px solid #cce5ff;
}
.car-app-container .cost-summary-card h3{
	font-size: 18px;
	color: #084298;
	margin-bottom: 10px;
	padding-bottom: 15px;
	border-bottom: 2px solid #b6d4fe;
}
.car-app-container .cost-list{
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 0;
	list-style: none;
	padding-left: 0;
}
.car-app-container .cost-item{
	display: flex;
    justify-content: space-between;
    font-size: 15px;
    color: #333;
    margin-bottom: 0;
    padding-top: 12px;
    border-top: 1px solid #f1f2f3;
}
.car-app-container .cost-item:first-child{
    border-top: 0;
}
.car-app-container .cost-item span:last-child{
	color: #013579;
}
.car-app-container .cost-item.total-price{
	font-size: 18px;
    font-weight: 700;
    padding-top: 25px;
    margin-top: 10px;
    color: var(--car-danger);
    border-top: 2px dashed var(--car-border);
}

/* TAB TRẢ GÓP XE */
.installment-title{
	text-align: center;
	color: var(--car-title-blue);
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 25px;
	text-transform: uppercase;
}
.inst-preview-section{
	display: flex;
	align-items: center;
	justify-content: center;
}
.inst-car-card{
	width: 100%;
	border: 1px dashed #bbb;
	border-radius: 8px;
	padding: 20px;
	text-align: center;
	background: #fff;
}
.inst-car-thumb{
	max-width: 100%;
	height: 180px;
	margin: 0 auto 15px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.inst-car-thumb img{
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.inst-car-thumb .placeholder-text{
	color: #999;
	font-size: 14px;
}
.inst-car-card h3{
	font-size: 18px;
	color: #333;
	margin: 10px 0 5px;
}
.inst-car-price{
	font-size: 18px;
	font-weight: 700;
	color: var(--car-danger);
}
.btn-calc-installment{
	width: 100%;
	background: #2361e7;
	color: #fff;
	border: none;
	padding: 12px;
	font-size: 16px;
	font-weight: 600;
	border-radius: 4px;
	margin-top: 20px;
	cursor: pointer;
	transition: background 0.2s;
}
.btn-calc-installment:hover{
	background: #1a4fbd;
}

/* TỔNG QUAN KẾT QUẢ TRẢ GÓP */
.inst-summary-box{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: #f0f6ff;
	border-radius: 6px;
	padding: 15px;
	margin-bottom: 25px;
	text-align: center;
}
@media (max-width: 768px){
	.inst-summary-box{
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
}
.inst-summary-item span{
	display: block;
	font-size: 13px;
	color: #555;
	margin-bottom: 5px;
}
.inst-summary-item strong{
	font-size: 16px;
	color: var(--car-title-blue);
}
.inst-table-title{
	text-align: center;
	color: var(--car-title-blue);
	font-size: 20px;
	font-weight: 700;
	margin: 25px 0 15px;
	text-transform: uppercase;
}
.inst-table-wrapper{
	overflow-x: auto;
	max-height: 400px;
	border: 1px solid #e0e0e0;
}
.inst-table{
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.inst-table th, .inst-table td{
	padding: 10px 12px;
	border: 1px solid #e0e0e0;
	text-align: right;
}
.inst-table th:first-child, .inst-table td:first-child{
	text-align: center;
}
.inst-table th{
	background: #f8f9fa;
	color: #333;
	font-weight: 600;
	position: sticky;
	top: 0;
	z-index: 2;
}

/* Tab 3 Controls */
.car-app-container .compare-selection-grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 25px;
}
@media (max-width: 768px){
	.car-app-container .compare-selection-grid{
		grid-template-columns: 1fr;
	}
}
.car-app-container .compare-slot-card{
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 15px;
	border-radius: 8px;
	background: var(--car-bg-light);
	border: 1px solid var(--car-border);
}
.car-app-container .compare-slot-title{
	font-size: 13px;
	font-weight: 700;
	color: #6c757d;
	text-transform: uppercase;
}
.car-app-container .active-slot-box{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px;
	color: #084298;
	font-weight: 600;
	min-height: 45px;
	text-align: center;
	border-radius: 6px;
	background: #e7f1ff;
	border: 1px solid #9ec5fe;
}
.car-app-container .btn-compare-action{
	width: 100%;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	padding: 14px;
	border-radius: 6px;
	cursor: pointer;
	border: none;
	background: var(--car-primary);
}
.car-app-container .btn-compare-action:disabled{
	background: #adb5bd;
	cursor: not-allowed;
}

/* Lightbox Modal CSS */
.car-lightbox-modal{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999999;
	padding: 15px;
	background: rgba(0, 0, 0, 0.75);
}
.car-lightbox-modal.active{
	display: flex;
	justify-content: center;
	align-items: center;
}
.car-lightbox-content{
	width: 100%;
	max-width: 1250px;
	max-height: 92vh;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 8px;
	background: #fff;
}
.car-lightbox-header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 20px;
	background: #f8f9fa;
	position: relative;
	border-bottom: 1px solid var(--car-border);
}
.car-btn-close-lightbox{
	font-size: 28px;
	color: #ca1d1e;
	border: none;
	background: transparent;
	cursor: pointer;
}
.car-lightbox-body{
	flex: 1;
	padding: 20px;
	overflow-y: auto;
}

/* SO SÁNH XE (TABLE & GRID LAYOUT) */
.car-comp-table-wrapper{
	width: 100%;
	overflow-x: auto;
}
.car-comp-table{
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
.car-comp-table th, .car-comp-table td{
	font-size: 14px;
	padding: 10px 12px;
	vertical-align: middle;
	word-wrap: break-word;
	border: 1px solid var(--car-border);
}

/* Desktop: Chia 3 cột kết quả (mỗi cột 26%) + 1 cột thông số (22%) */
@media (min-width: 992px){
	.car-comp-table th.feature-col{ width: 22%; }
	.car-comp-table td.car-col{ width: 26%; }
}

/* Tablet & Mobile: Hiển thị cuộn ngang 2-3 cột linh hoạt */
@media (max-width: 991px){
	.car-comp-table{ min-width: 750px; }
	.car-comp-table th.feature-col{ width: 135px; font-weight: 500;}
	.car-comp-table td.car-col{ width: 200px; }
}

.car-comp-category-row{
	font-size: 13px;
	font-weight: 700;
	color: #fff !important;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	background: #013579;
}
.car-comp-header-box{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
}
.car-comp-header-box img{
	max-height: 120px;
	object-fit: contain;
}
.car-comp-header-box h4{
	font-size: 15px;
	margin: 0;
}
.car-comp-header-box .price{
	color: var(--car-danger);
	font-weight: 700;
}
.car-excerpt-text{
	font-size: 13px;
	color: #6c757d;
}
.empty-slot-msg{
	text-align: center;
	color: #aaa;
	font-style: italic;
	padding: 20px 0;
}

@media (max-width: 767px){
	.car-app-container .tab-btn{
		flex-direction: column;
		gap: 5px;
		font-size: 13px;
		font-weight: 500;
		padding: 10px 5px;
		position: relative;
	}
	.car-app-container .badge-count{
		position: absolute;
		top: 5px;
		right: 5px;
		font-size: 10px;
	}
	.car-app-container .tab-pane,
	.car-app-container .cost-summary-card{
		padding: 20px 10px;
	}
	.car-app-container .form-group label{
		font-weight: 400;
	}
	.car-app-container .car-info-detail h4 a{
		font-weight: 16px;
	}
	.car-app-container .car-info-detail .price-text{
		font-size: 15px;
		font-weight: 500;
	}
	.car-app-container .car-info-detail .car-preview-fuel{
		display: none;
	}
	.car-app-container .cost-item.total-price{
		font-size: 16px;
	}
	.car-lightbox-header{
		padding: 16px;
	}
	.car-lightbox-header h3{
		font-size: 18px;
	}
	.car-lightbox-header .car-btn-close-lightbox{
		position: absolute;
		top: 0;
		right: 10px;
	}
}