/* /assets/style-test-drive.css */

/* Estilos Gerais */
body { font-family: sans-serif; }
.online-test-drive-wrapper { max-width: 1200px; margin: 40px auto; padding: 20px; background: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); border-radius: 12px; }
.main-title { text-align: center; color: #2c3e50; margin-bottom: 10px; font-size: 2.5em; }
.intro-text { font-size: 1.15em; font-weight: 400; text-align: center; margin-bottom: 40px; padding-bottom: 10px; }
.intro-text strong { color: #BF8F3F; } 
.section-title { text-align: center; color: #34495e; margin-top: 30px; margin-bottom: 30px; font-size: 2em; border-bottom: 2px solid #BF8F3F; display: inline-block; padding-bottom: 5px; }
.form-main-section { padding: 40px 0; background: #f8f8f8; border-radius: 8px; margin-top: 40px; }
.steps-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-bottom: 40px; padding: 0 20px; }
.step-card { text-align: center; padding: 20px; border: 1px solid #eee; border-radius: 8px; transition: transform 0.3s, box-shadow 0.3s; }
.step-card:hover { transform: translateY(-3px); box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1); }
.step-icon img { max-width: 100%; height: auto; border-radius: 4px; display: block; margin: 0 auto; }
.step-content h3 { color: #BF8F3F; font-size: 1.3em; margin-bottom: 10px; }
.step-content p { font-size: 0.95em; color: #7f8c8d; }
.form-container { max-width: 500px; margin: 0 auto; padding: 25px; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); }
.form-container h2 { text-align: center; color: #BF8F3F; margin-top: 0; margin-bottom: 20px; }
#online-test-drive-form .form-row { display: flex; gap: 20px; }
#online-test-drive-form .form-row .form-group { flex: 1; }
#online-test-drive-form .form-group { margin-bottom: 15px; }
#online-test-drive-form label { display: block; margin-bottom: 5px; font-weight: bold; font-size: 0.9em; color: #555; }
#online-test-drive-form input[type="text"], #online-test-drive-form input[type="tel"], #online-test-drive-form input[type="email"], #online-test-drive-form input[type="date"], #online-test-drive-form select { 
    width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 5px; font-size: 1em; box-sizing: border-box; background-color: #fff;
}
.btn-submit-drive { display: block; width: 100%; padding: 12px; border: none; border-radius: 5px; background: #BF8F3F; color: white; font-size: 1.1em; font-weight: bold; cursor: pointer; transition: background 0.3s; margin-top: 20px; }
.btn-submit-drive:hover { background: #a87a2d; }
.form-status { margin-top: 15px; text-align: center; font-weight: bold; padding: 10px; }

/* Estilos para o Select2 customizado */
.select2-container--default .select2-selection--single { height: 40px; padding: 6px 10px; border: 1px solid #ccc; border-radius: 5px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 28px; padding-left: 0; }
.select2-results__option--car-result { display: flex; align-items: center; padding: 8px 10px; }
.car-thumb { width: 50px; height: 40px; overflow: hidden; margin-right: 10px; flex-shrink: 0; }
.car-thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 3px; }
.car-info { line-height: 1.4; }
.car-title { font-weight: bold; color: #333; }
.car-stock { font-size: 0.8em; color: #777; }

/* Responsividade */
@media (max-width: 900px) { .steps-container { grid-template-columns: repeat(1, 1fr); } }
@media (max-width: 600px) {
    #online-test-drive-form .form-row { flex-direction: column; gap: 0; }
    .main-title { font-size: 2em; }
}