/* EC Vehicle Lookup - change these variables to match the site's colors. */
.ecvl-wrap {
	--ecvl-primary: #c8102e;
	--ecvl-primary-dark: #9d0c24;
	--ecvl-dark: #1a1a1a;
	--ecvl-muted: #666;
	--ecvl-border: #e1e1e1;
	--ecvl-bg: #f7f7f7;
	--ecvl-ok: #1b7f3b;
	--ecvl-ok-bg: #eaf6ee;
	--ecvl-info-bg: #fff6e5;
	--ecvl-error: #b00020;
	--ecvl-radius: 10px;
	max-width: 760px;
	margin: 0 auto;
	font-family: inherit;
	color: var(--ecvl-dark);
	box-sizing: border-box;
}
.ecvl-wrap *, .ecvl-wrap *::before, .ecvl-wrap *::after { box-sizing: border-box; }
.ecvl-title { margin: 0 0 12px; }

/* Search form */
.ecvl-form { display: flex; flex-direction: column; gap: 10px; }
.ecvl-input {
	width: 100%; padding: 14px 16px; font-size: 18px; letter-spacing: .5px; text-transform: uppercase;
	border: 2px solid var(--ecvl-border); border-radius: var(--ecvl-radius); background: #fff; color: var(--ecvl-dark);
}
.ecvl-input::placeholder { text-transform: none; letter-spacing: 0; color: #999; }
.ecvl-input:focus { outline: none; border-color: var(--ecvl-primary); }
.ecvl-btn {
	padding: 14px 22px; font-size: 17px; font-weight: 700; cursor: pointer;
	background: var(--ecvl-primary); color: #fff; border: 0; border-radius: var(--ecvl-radius);
}
.ecvl-btn:hover { background: var(--ecvl-primary-dark); }
.ecvl-btn:disabled { opacity: .6; cursor: wait; }
.ecvl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ecvl-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
@media (min-width: 600px) {
	.ecvl-form { flex-direction: row; }
	.ecvl-input { flex: 1; }
}

/* Results */
.ecvl-output { margin-top: 18px; }
.ecvl-loading { padding: 14px; color: var(--ecvl-muted); }
.ecvl-result { padding: 18px; border-radius: var(--ecvl-radius); border: 1px solid var(--ecvl-border); background: var(--ecvl-bg); }
.ecvl-result h4 { margin: 0 0 8px; font-size: 20px; }
.ecvl-result p { margin: 0 0 8px; }
.ecvl-found { background: var(--ecvl-ok-bg); border-color: var(--ecvl-ok); }
.ecvl-found > h4 { color: var(--ecvl-ok); }
.ecvl-info { background: var(--ecvl-info-bg); border-color: #f0c36d; }
.ecvl-error { background: #fdecef; border-color: var(--ecvl-error); color: var(--ecvl-error); }
.ecvl-phone a { font-weight: 700; color: var(--ecvl-primary); }

.ecvl-card { display: flex; flex-direction: column; gap: 14px; margin: 12px 0; }
.ecvl-photo { width: 100%; max-height: 280px; object-fit: cover; border-radius: 8px; background: #ddd; }
.ecvl-details { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; }
.ecvl-details dt { color: var(--ecvl-muted); }
.ecvl-details dd { margin: 0; font-weight: 600; word-break: break-word; }
@media (min-width: 600px) {
	.ecvl-card { flex-direction: row; align-items: flex-start; }
	.ecvl-photo { width: 280px; flex-shrink: 0; }
}

.ecvl-fee { background: #fff; border: 1px solid var(--ecvl-border); border-radius: 8px; padding: 12px 14px; margin: 12px 0; }
.ecvl-fee-row { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; }
.ecvl-fee-total { border-top: 2px solid var(--ecvl-dark); margin-top: 6px; padding-top: 8px; font-size: 20px; font-weight: 800; }
.ecvl-fee-note { font-size: 13px; color: var(--ecvl-muted); margin-top: 4px; }
.ecvl-pickup { margin-top: 10px; }
.ecvl-pickup p { margin-top: 4px; }

/* Auction grid */
.ecvl-wrap:has(.ecvl-auction-grid) { max-width: 1100px; }
.ecvl-auction-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 640px) { .ecvl-auction-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .ecvl-auction-grid { grid-template-columns: repeat(3, 1fr); } }
.ecvl-auction-card { background: #fff; border: 1px solid var(--ecvl-border); border-radius: var(--ecvl-radius); overflow: hidden; display: flex; flex-direction: column; }
.ecvl-auction-media { position: relative; aspect-ratio: 4 / 3; background: #e9e9e9; }
.ecvl-auction-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ecvl-auction-nophoto { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--ecvl-muted); }
.ecvl-badge { position: absolute; top: 10px; left: 10px; background: var(--ecvl-dark); color: #fff; padding: 4px 12px; border-radius: 20px; font-size: 13px; font-weight: 700; }
.ecvl-auction-body { padding: 14px 16px 16px; }
.ecvl-auction-body h4 { margin: 0 0 6px; font-size: 18px; }
.ecvl-auction-price { margin: 0 0 4px; font-weight: 800; color: var(--ecvl-primary); font-size: 18px; }
.ecvl-auction-date { margin: 0 0 8px; color: var(--ecvl-muted); font-size: 14px; }
.ecvl-auction-desc { font-size: 14px; }
.ecvl-auction-desc p { margin: 0 0 6px; }
.ecvl-auction-card.is-sold { opacity: .7; }
.ecvl-empty { text-align: center; color: var(--ecvl-muted); padding: 20px; }
