/* Instant-quote widget styles shared by every page that carries the form (index.html keeps its own copy inline). */
.input-luxury:focus { box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.4), 0 0 20px rgba(212, 175, 55, 0.15); }
.vehicle-card input:checked + div {
    border-color: #D4AF37 !important;
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.15), rgba(212, 175, 55, 0.05));
    box-shadow: 0 0 20px rgba(212, 175, 55, 0.15), inset 0 1px 0 rgba(212, 175, 55, 0.2);
}
.vehicle-card input:checked + div::before {
    content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 2px;
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.8), rgba(212, 175, 55, 0.3));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
}
.vehicle-card input:checked + div .text-sm { color: #D4AF37; }
.loading-spinner { animation: spin 1s linear infinite; }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.price-pulse { animation: price-pulse 0.5s ease-out; }
@keyframes price-pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } }
.input-error { border-color: #ef4444 !important; box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.3); }
.error-message { display: flex; align-items: center; gap: 0.25rem; color: #ef4444; font-size: 0.75rem; margin-top: 0.5rem; }
input[type="date"], input[type="time"] { cursor: pointer; position: relative; }
input[type="date"]::-webkit-calendar-picker-indicator, input[type="time"]::-webkit-calendar-picker-indicator {
    cursor: pointer; filter: invert(1) opacity(0.5); padding: 0; margin: 0; position: absolute; right: 1rem; width: 1.25rem; height: 1.25rem;
}
.toast { position: fixed; bottom: 2rem; left: 50%; transform: translateX(-50%); padding: 1rem 1.5rem; border-radius: 0.75rem; font-size: 0.875rem; z-index: 9999; animation: toast-in 0.3s ease-out; }
.toast.error, .toast-error { background: #7f1d1d; color: #fecaca; border: 1px solid #991b1b; }
.toast.success, .toast-success { background: #14532d; color: #bbf7d0; border: 1px solid #166534; }
.toast.info { background: #18181b; color: #d9d9dd; border: 1px solid rgba(255,255,255,0.1); }
@keyframes toast-in { from { opacity: 0; transform: translateX(-50%) translateY(1rem); } to { opacity: 1; transform: translateX(-50%) translateY(0); } }
