/* CSS cho giao diện tra cứu báo giá dịch vụ Ktech */

.ktech-quote-container {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    background: #fff;
    /* CSS Variables với giá trị mặc định đỏ Isuzu */
    --ktech-primary-color: #e31b23;
    --ktech-primary-color-light: #fff0f0;
    --ktech-icon-color: #e31b23;
    --ktech-text-color: #1A1D20;
}

/* Header đen chứa bộ lọc */
.ktech-quote-header {
    background: #151515;
    color: #fff;
    padding: 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    border-bottom: 3px solid var(--ktech-primary-color);
}

.ktech-quote-filter {
    display: flex;
    flex-direction: column;
}

.ktech-quote-filter label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    color: #bbb;
}

/* Custom Dropdown bằng DIV */
.ktech-custom-select {
    position: relative;
    user-select: none;
    font-family: inherit;
}

.ktech-custom-select-trigger {
    background: #252525;
    color: #fff;
    border: 1px solid #333;
    padding: 10px 14px;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 42px;
    transition: all 0.3s ease;
}

.ktech-custom-select-trigger:hover {
    border-color: #555;
}

.ktech-custom-select.open .ktech-custom-select-trigger {
    border-color: var(--ktech-primary-color);
    background: #2d2d2d;
    border-radius: 4px 4px 0 0;
}

.ktech-arrow {
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #fff;
    transition: transform 0.3s ease;
}

.ktech-custom-select.open .ktech-arrow {
    transform: rotate(180deg);
}

.ktech-custom-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #252525;
    border: 1px solid var(--ktech-primary-color);
    border-top: none;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 8px 16px rgba(0,0,0,0.3);
    z-index: 99;
    max-height: 250px;
    overflow-y: auto;
    display: none;
}

/* Scrollbar tuỳ biến */
.ktech-custom-options::-webkit-scrollbar {
    width: 6px;
}
.ktech-custom-options::-webkit-scrollbar-track {
    background: #1a1a1a;
}
.ktech-custom-options::-webkit-scrollbar-thumb {
    background: #444;
    border-radius: 3px;
}
.ktech-custom-options::-webkit-scrollbar-thumb:hover {
    background: var(--ktech-primary-color);
}

.ktech-custom-select.open .ktech-custom-options {
    display: block;
}

.ktech-custom-option {
    padding: 10px 14px;
    color: #ccc;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: left;
}

.ktech-custom-option:hover {
    background: #2d2d2d;
    color: #fff;
}

.ktech-custom-option.selected {
    background: var(--ktech-primary-color);
    color: #fff;
}

.ktech-custom-select.disabled {
    pointer-events: none;
    opacity: 0.5;
}

/* Body kết quả */
.ktech-quote-body {
    padding: 0;
    background: #f8fafc; /* Nền xám nhạt để làm nổi bật cột trái màu trắng */
}

.ktech-quote-cols {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 0;
}

/* Cột trái */
.ktech-quote-col-left {
    display: flex;
    flex-direction: column;
    gap: 30px;
    background: #fff;
    padding: 30px;

    @media only screen and (max-width: 768px) {
        padding: 20px;
    }
}

.ktech-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #111;
    margin-bottom: 20px;
    text-transform: uppercase;
    border-left: 3px solid var(--ktech-primary-color);
    padding-left: 10px;
    line-height: 1.4;
}

.ktech-parts-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

.ktech-parts-list li {
    position: relative;
    padding-left: 28px !important;
    margin-left: 0 !important;
    margin-bottom: 12px !important;
    font-size: 14px;
    color: var(--ktech-text-color, #1A1D20);
    font-weight: 500;
    line-height: 1.6;
}

/* Icon hoa/bánh răng đỏ trước mỗi phụ tùng (Màu mặc định, sẽ được ghi đè động qua CSS variables) */
.ktech-parts-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 18px;
    height: 18px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23e31b23"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 1.83-.62 3.53-1.66 4.93z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
}

.ktech-inspections-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

.ktech-inspections-list li {
    position: relative;
    padding-left: 28px !important;
    margin-bottom: 12px !important;
    font-size: 14px;
    color: var(--ktech-text-color, #1A1D20);
    font-weight: 500;
    line-height: 1.6;
}

/* Chấm tròn bullet thiết kế vector đồng bộ thẳng hàng với bánh răng */
.ktech-inspections-list li::before {
    content: "";
    position: absolute;
    left: 6px;
    top: 9px;
    width: 6px;
    height: 6px;
    background-color: var(--ktech-icon-color);
    border-radius: 50%;
}

/* Cột phải */
.ktech-quote-col-right {
    display: flex;
    flex-direction: column;
    padding: 30px;
    
    @media only screen and (max-width: 768px) {
        padding: 20px;
    }
}

.ktech-cost-box {
    background: transparent;
    padding: 0;
    border: none;
    box-shadow: none;
}

.ktech-cost-title {
    font-size: 16px;
    font-weight: 700;
    color: #111;
    text-align: center;
    margin-bottom: 25px;
    text-transform: uppercase;
}

.ktech-cost-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #f2f2f2;
    font-size: 14px;
    color: #555;
}

.ktech-cost-row strong {
    color: #111;
    font-size: 15px;
    font-weight: 700;
}

.ktech-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--ktech-primary-color-light);
    padding: 16px 20px;
    border-radius: 4px;
    margin: 25px 0;
    color: var(--ktech-primary-color);
    font-weight: 700;
}

.ktech-total-row span {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 700;
}

.ktech-total-price {
    font-size: 18px !important;
    color: var(--ktech-primary-color);
    font-weight: 800;
}

.ktech-note {
    font-size: 11px;
    color: #777;
    font-style: italic;
    line-height: 1.5;
    text-align: center;
    margin: 0;
}

/* Responsive */
@media (max-width: 900px) {
    .ktech-quote-header {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .ktech-quote-cols {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .ktech-quote-col-right {
        border-left: none;
        padding: 30px;
    }
}
