/* MP Auction Engine – neutral, themeable. Override any --mpae-* variable in your theme. */
:root {
	--mpae-fg: currentColor;
	--mpae-muted: color-mix(in srgb, currentColor 60%, transparent);
	--mpae-bg: transparent;
	--mpae-surface: color-mix(in srgb, currentColor 4%, transparent);
	--mpae-border: color-mix(in srgb, currentColor 18%, transparent);
	--mpae-accent: #1d1d1f;
	--mpae-accent-fg: #fff;
	--mpae-success: #1a7f37;
	--mpae-warning: #b35900;
	--mpae-danger: #c62828;
	--mpae-live: #c62828;
	--mpae-radius: 4px;
	--mpae-gap: 1rem;
	--mpae-font: inherit;
	--mpae-num-font: inherit;
}
@media (prefers-color-scheme: dark) {
	:root { --mpae-accent: #f5f5f7; --mpae-accent-fg: #111; --mpae-success: #4ac26b; --mpae-warning: #f0a35e; --mpae-danger: #ff7b72; }
}
.mpae-lot, .mpae-grid, .mpae-mybids { font-family: var(--mpae-font); color: var(--mpae-fg); }
.mpae-lot { background: var(--mpae-bg); border: 1px solid var(--mpae-border); border-radius: var(--mpae-radius); padding: var(--mpae-gap); margin: var(--mpae-gap) 0; display: grid; gap: .75rem; }
.mpae-head { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.mpae-lotno { letter-spacing: .08em; text-transform: uppercase; font-size: .8em; color: var(--mpae-muted); }
.mpae-badge { display: inline-block; font-size: .75em; letter-spacing: .06em; text-transform: uppercase; padding: .15em .6em; border: 1px solid var(--mpae-border); border-radius: 99px; }
.mpae-badge[data-status="live"] { color: var(--mpae-live); border-color: currentColor; }
.mpae-badge[data-status="sold"] { color: var(--mpae-success); border-color: currentColor; }
.mpae-estimate, .mpae-meta, .mpae-small, .mpae-help { margin: 0; color: var(--mpae-muted); font-size: .9em; }
.mpae-estimate span { text-transform: uppercase; letter-spacing: .06em; font-size: .85em; }
.mpae-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; margin: 0; }
.mpae-stats div { background: var(--mpae-surface); padding: .6rem; border-radius: var(--mpae-radius); }
.mpae-stats dt { font-size: .75em; text-transform: uppercase; letter-spacing: .06em; color: var(--mpae-muted); }
.mpae-stats dd { margin: .2rem 0 0; font-family: var(--mpae-num-font); font-size: 1.15em; font-variant-numeric: tabular-nums; }
.mpae-current { font-weight: 600; }
.mpae-ending .mpae-timer { color: var(--mpae-danger); }
.mpae-meta { display: flex; flex-wrap: wrap; gap: .25rem 1rem; justify-content: space-between; }
.mpae-reserve { color: var(--mpae-warning); }
.mpae-reserve.is-met { color: var(--mpae-success); }
.mpae-you { margin: 0; font-weight: 600; }
.mpae-you:empty { display: none; }
.mpae-you[data-you="winning"], .mpae-you[data-you="won"] { color: var(--mpae-success); }
.mpae-you[data-you="outbid"], .mpae-you[data-you="lost"] { color: var(--mpae-danger); }
.mpae-form label { display: block; font-weight: 600; }
.mpae-form label small { font-weight: 400; color: var(--mpae-muted); margin-inline-start: .5em; }
.mpae-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .4rem; }
.mpae-row input { flex: 1 1 8rem; min-width: 0; padding: .6rem; font: inherit; color: inherit; background: transparent; border: 1px solid var(--mpae-border); border-radius: var(--mpae-radius); }
.mpae-btn { display: inline-block; cursor: pointer; padding: .65rem 1.2rem; font: inherit; font-weight: 600; text-decoration: none; text-align: center; color: var(--mpae-accent-fg); background: var(--mpae-accent); border: 1px solid var(--mpae-accent); border-radius: var(--mpae-radius); }
.mpae-btn:disabled { opacity: .5; cursor: wait; }
.mpae-btn--ghost { color: var(--mpae-fg); background: transparent; border-color: var(--mpae-border); }
.mpae-btn--sm { padding: .25rem .6rem; font-size: .85em; }
.mpae-link { background: none; border: 0; padding: 0; color: inherit; text-decoration: underline; cursor: pointer; font: inherit; }
.mpae-link[aria-pressed="true"]::before { content: "\2605 "; }
.mpae-action { display: grid; gap: .6rem; }
.mpae-confirm { margin-top: .75rem; padding: .75rem; background: var(--mpae-surface); border-radius: var(--mpae-radius); }
.mpae-confirm-title { margin: 0 0 .5rem; font-weight: 600; }
.mpae-confirm-lines { display: grid; grid-template-columns: 1fr auto; gap: .25rem 1rem; margin: 0 0 .5rem; }
.mpae-confirm-lines dd { margin: 0; text-align: end; font-variant-numeric: tabular-nums; }
.mpae-confirm-lines dt:last-of-type, .mpae-confirm-lines dd:last-of-type { font-weight: 600; border-top: 1px solid var(--mpae-border); padding-top: .25rem; }
.mpae-msg { margin: 0; }
.mpae-msg[data-type="success"] { color: var(--mpae-success); }
.mpae-msg[data-type="warning"], .mpae-msg[data-type="info"] { color: var(--mpae-warning); }
.mpae-msg[data-type="error"] { color: var(--mpae-danger); }
.mpae-note { margin: 0; padding: .6rem; background: var(--mpae-surface); border-radius: var(--mpae-radius); }
.mpae-terms { font-size: .9em; }
.mpae-shake { animation: mpae-shake .3s; color: var(--mpae-danger); }
@keyframes mpae-shake { 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
.mpae-history summary { cursor: pointer; color: var(--mpae-muted); }
.mpae-history ol { list-style: none; margin: .5rem 0 0; padding: 0; max-height: 16rem; overflow: auto; }
.mpae-history li { display: grid; grid-template-columns: 1fr auto; gap: 0 1rem; padding: .35rem 0; border-bottom: 1px solid var(--mpae-border); font-size: .9em; }
.mpae-history time { grid-column: 1 / -1; color: var(--mpae-muted); font-size: .85em; }
.mpae-grid { display: grid; gap: var(--mpae-gap); grid-template-columns: 1fr; }
@media (min-width: 600px) { .mpae-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .mpae-grid { grid-template-columns: repeat(var(--mpae-cols, 3), 1fr); } }
.mpae-card { border: 1px solid var(--mpae-border); border-radius: var(--mpae-radius); padding: .75rem; }
.mpae-card a { color: inherit; text-decoration: none; }
.mpae-card img { width: 100%; height: auto; display: block; }
.mpae-card h3 { font-size: 1em; margin: .5rem 0; }
.mpae-card p { margin: .25rem 0; }
.mpae-table { width: 100%; border-collapse: collapse; }
.mpae-table th, .mpae-table td { text-align: start; padding: .5rem; border-bottom: 1px solid var(--mpae-border); }
.mpae-you-winning, .mpae-you-won { color: var(--mpae-success); }
.mpae-you-outbid, .mpae-you-lost { color: var(--mpae-danger); }
.mpae-mybids section { margin-bottom: 2rem; }
.mpae-empty { color: var(--mpae-muted); }
@media (max-width: 420px) { .mpae-stats { grid-template-columns: 1fr 1fr; } .mpae-stats div:last-child { grid-column: 1 / -1; } }
@media (prefers-reduced-motion: reduce) { .mpae-shake { animation: none; } }
