.dp-vehicle-requirement { clear: both; width: 100%; margin: 0 0 18px; padding: 20px; border: 1px solid #bfdbfe; border-radius: 14px; background: #eff6ff; box-sizing: border-box; }
.dp-vehicle-requirement__kicker { display: block; margin-bottom: 5px; color: #ea580c; font-size: 12px; font-weight: 900; letter-spacing: .03em; text-transform: uppercase; }
.dp-vehicle-requirement h3 { margin: 0 0 8px; color: #0f172a; font-size: 20px; }
.dp-vehicle-requirement p { margin: 0 0 14px; color: #475569; line-height: 1.5; }
.dp-vehicle-requirement__choice { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 14px 0; padding: 0; border: 0; }
.dp-vehicle-requirement__choice[hidden] { display: none !important; }
.dp-vehicle-requirement__choice legend { grid-column: 1 / -1; margin-bottom: 2px; color: #0f172a; font-size: 14px; font-weight: 900; }
.dp-vehicle-requirement__choice label { display: flex; align-items: center; gap: 8px; margin: 0; padding: 11px; border: 1px solid #cbd5e1; border-radius: 9px; background: #fff; cursor: pointer; }
.dp-vehicle-requirement__choice input { width: auto; min-height: 0; padding: 0; box-shadow: none; }
.dp-vehicle-requirement__field { display: grid; gap: 7px; margin: 0; color: #0f172a; font-weight: 800; }
.dp-vehicle-requirement__field input { width: 100%; min-height: 50px; padding: 11px 13px; border: 1px solid #94a3b8; border-radius: 9px; background: #fff; color: #111827; font-size: 17px; font-weight: 800; text-transform: uppercase; box-sizing: border-box; }
.dp-vehicle-requirement__field input:focus { border-color: #0066cc; outline: 0; box-shadow: 0 0 0 3px rgba(0, 102, 204, .14); }
.dp-vehicle-requirement__validity { display: block; min-height: 20px; margin-top: 6px; color: #64748b; font-size: 13px; font-weight: 800; }
.dp-vehicle-requirement__validity.is-valid { color: #15803d; }
.dp-vehicle-requirement__error { min-height: 20px; margin: 7px 0 !important; color: #b91c1c !important; font-size: 13px; font-weight: 700; }
.dp-vehicle-requirement__error.is-success { color: #15803d !important; }
.dp-vehicle-requirement__actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; }
form.cart .dp-vehicle-requirement .dp-vehicle-requirement__submit { width: 100%; min-height: 48px; border: 1px solid #0057ad !important; border-radius: 9px; background: #0066cc !important; background-image: none !important; color: #fff !important; font-weight: 900; text-shadow: none; box-shadow: none; cursor: pointer; opacity: 1; }
form.cart .dp-vehicle-requirement .dp-vehicle-requirement__submit:hover,
form.cart .dp-vehicle-requirement .dp-vehicle-requirement__submit:focus { border-color: #00458a !important; background: #0057ad !important; color: #fff !important; }
form.cart .dp-vehicle-requirement .dp-vehicle-requirement__submit:disabled { cursor: wait; opacity: .65; }
.dp-vehicle-requirement__remove { min-height: 48px; padding: 10px 16px !important; border: 1px solid #dc2626 !important; border-radius: 9px; background: #fff !important; background-image: none !important; color: #b91c1c !important; font-weight: 800; box-shadow: none; cursor: pointer; }
.dp-vehicle-requirement__remove[hidden] { display: none !important; }
.dp-vehicle-requirement__remove:hover,
.dp-vehicle-requirement__remove:focus { background: #fef2f2 !important; color: #991b1b !important; }
.dp-vehicle-requirement.is-complete { display: grid; gap: 3px; border-color: #86efac; background: #f0fdf4; color: #166534; }
@media (max-width: 600px) { .dp-vehicle-requirement { padding: 17px; } .dp-vehicle-requirement__choice, .dp-vehicle-requirement__actions { grid-template-columns: 1fr; } }
