
/* ----------  BASE CONTAINER  -------------------------------------- */
.vehicle-filter-form {
    background: linear-gradient(135deg,#dc3545 0%,#c82333 100%);
    border-radius:12px;
    padding:25px;
    margin:20px auto;
    max-width:960px;
    box-shadow:0 8px 32px rgba(220,53,69,.3);
    color:#fff;
}

/* ----------  HEADER  --------------------------------------------- */
.filter-header{margin-bottom:25px}
.filter-header h3{
    margin:0;
    font-size:28px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    text-shadow:0 2px 4px rgba(0,0,0,.3)
}

/* ----------  GRID LAYOUT  ---------------------------------------- */
.filter-row{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:15px;
    margin-bottom:25px
}
.filter-field{width:100%}

/* ----------  LABELS  --------------------------------------------- */
.filter-field label{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
    font-weight:600;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.5px;
    color:#fff
}
.step-number{
    background:rgba(255,255,255,.9);
    color:#dc3545;
    width:24px;height:24px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:700;
    transition:.3s
}
.step-number.completed{background:#28a745;color:#fff}
.step-label{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}

/* ----------  SELECTS  -------------------------------------------- */
.filter-field select{
    width:100%;
    padding:15px 45px 15px 18px;
    border:2px solid rgba(255,255,255,.2);
    border-radius:8px;
    font-size:16px;
    background:#fff;
    color:#333 !important;
    -webkit-text-fill-color:#333 !important;
    font-weight:500;
    transition:.3s;
    appearance:none;-webkit-appearance:none;-moz-appearance:none;
    cursor:pointer;
    background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4 5"><path fill="%23666" d="M2 0L0 2h4zm0 5L0 3h4z"/></svg>');
    background-repeat:no-repeat;
    background-position:right 15px center;
    background-size:12px
}
.filter-field select option{color:#333;background:#fff;padding:10px}

/* -- FOCUS / HOVER ------------------------------------------------- */
.filter-field select:focus{
    outline:none;
    border-color:#fff;
    box-shadow:0 0 0 3px rgba(255,255,255,.3);
    transform:translateY(-2px)
}
.filter-field select:not(:disabled):hover{border-color:rgba(255,255,255,.5)}

/* -- DISABLED ------------------------------------------------------ */
.filter-field select:disabled{
    background:#ececec!important;
    color:#999!important;
    cursor:not-allowed;
    opacity:.75
}

/* ----------  “INVALID / PLACEHOLDER” OVERRIDES  ------------------ */
/* 1. The closed drop-down text */
.vehicle-filter-form select:invalid{
    color:#666 !important;                       /* visible grey */
    -webkit-text-fill-color:#666 !important;     /* Safari/Chrome quirk */
}
/* 2. The placeholder <option> itself */
.vehicle-filter-form select option[value=""],
.vehicle-filter-form select option[disabled]{
    color:#666 !important;
    font-style:italic
}

/* ----------  ACTION BUTTONS  ------------------------------------- */
.filter-actions{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap
}
#filter-submit{
    background:linear-gradient(135deg,#28a745 0%,#20c997 100%);
    color:#fff;
    border:none;
    padding:18px 35px;
    border-radius:8px;
    cursor:pointer;
    font-size:16px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    transition:.3s;
    display:flex;
    align-items:center;
    gap:10px;
    box-shadow:0 4px 15px rgba(40,167,69,.4);
    min-width:120px;
    justify-content:center
}
#filter-submit:hover:not(:disabled){
    background:linear-gradient(135deg,#218838 0%,#1dc990 100%);
    transform:translateY(-2px);
    box-shadow:0 6px 20px rgba(40,167,69,.5)
}
#filter-submit:disabled{
    background:linear-gradient(135deg,#6c757d 0%,#5a6268 100%);
    cursor:not-allowed;
    box-shadow:none;
    opacity:.6
}
.btn-arrow{font-size:14px;transition:transform .3s}
#filter-submit:hover .btn-arrow{transform:translateX(3px)}

/* ----------  ACCESSIBILITY FOCUS --------------------------------- */
.filter-field select:focus,
#filter-submit:focus{
    outline:3px solid rgba(255,255,255,.5);
    outline-offset:2px
}

/* ----------  RESPONSIVE TWEAKS  ---------------------------------- */
@media(max-width:768px){
    .vehicle-filter-form{margin:10px;padding:20px}
    .filter-header h3{font-size:24px}
    .filter-actions{flex-direction:column;align-items:center}
    #filter-submit{width:100%}
}