/* Canonical auction-platform colours (GS-429 / GS-446 locked) (sidebar + pills/badges site-wide).
   Brand-associated, dark-rail safe:
     Pickles  = brand blue  (#004C93 lifted)
     IAAI     = logo red
     Manheim  = sky (from brand secondary #2C90CC)
     All / GS = amber (workspace AI accent) — not a platform badge
*/
:root,
[data-theme="dark"],
[data-theme="light"] {
    --plat-pickles: #4E9BE8;
    --plat-pickles-soft: rgba(78, 155, 232, 0.14);
    --plat-pickles-border: rgba(78, 155, 232, 0.32);

    --plat-iaai: #E25358;
    --plat-iaai-soft: rgba(226, 83, 88, 0.14);
    --plat-iaai-border: rgba(226, 83, 88, 0.32);

    --plat-manheim: #62B8E3;
    --plat-manheim-soft: rgba(98, 184, 227, 0.14);
    --plat-manheim-border: rgba(98, 184, 227, 0.32);

    /* Brand-linked secondary houses (GS-428/429): Autorola brand orange,
       Copart indigo placeholder pending the GS-435 decision. */
    --plat-autorola: #F5921E;
    --plat-autorola-soft: rgba(245, 146, 30, 0.14);
    --plat-autorola-border: rgba(245, 146, 30, 0.32);

    --plat-copart: #7A9BF5;
    --plat-copart-soft: rgba(122, 155, 245, 0.14);
    --plat-copart-border: rgba(122, 155, 245, 0.32);

    /* ── Status tokens (GS-428/429) ─────────────────────────────────────
       Salvage is a two-value red: base for large graphics/charts ONLY,
       hi for small text, tint plates and the solid corner-flag fill.
       Ratios measured on Base Dark #0B0E12 (see GS-429 comment). */
    --status-salvage-base: #E5484D;   /* 4.94:1 — graphics only, never small text */
    --status-salvage-hi: #F16A6E;     /* 6.47:1 AA */
    --status-salvage-hi-soft: rgba(241, 106, 110, 0.14);
    --status-wovr-repair: #E8B04A;    /* brand amber, 9.89:1 AAA */
    --status-wovr-repair-soft: rgba(232, 176, 74, 0.14);
    --status-wovr-na: #A9C23E;        /* yellow-green, 9.65:1 AAA */
    --status-wovr-na-soft: rgba(169, 194, 62, 0.14);
    --status-sold-slate: #8A97A3;
}

/* ── Chamfer plate (GS-428/430) — the house tag component ───────────────
   45° top-right cut echoing the AI tag and the pulled bar's end cut.
   JetBrains Mono because platform/status is data, not decoration.
   Two variants: tint (default, precomputed 14% fill — no color-mix
   dependency) and solid (full fill, Base Dark text, used on/over photos). */
.plate {
    --pc: var(--text-muted, #8A97A3);
    --pc-soft: rgba(138, 151, 163, 0.14);
    display: inline-flex;
    align-items: center;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.09em;
    line-height: 1.3;
    white-space: nowrap;
    text-transform: uppercase;
    padding: 3px 10px 3px 9px;
    color: var(--pc);
    background: var(--pc-soft);
    clip-path: polygon(0 0, calc(100% - 7px) 0, 100% 7px, 100% 100%, 0 100%);
}
.plate--solid { background: var(--pc); color: #0B0E12; }

.plate--pickles  { --pc: var(--plat-pickles);  --pc-soft: var(--plat-pickles-soft); }
.plate--manheim  { --pc: var(--plat-manheim);  --pc-soft: var(--plat-manheim-soft); }
.plate--iaai     { --pc: var(--plat-iaai);     --pc-soft: var(--plat-iaai-soft); }
.plate--autorola { --pc: var(--plat-autorola); --pc-soft: var(--plat-autorola-soft); }
.plate--copart   { --pc: var(--plat-copart);   --pc-soft: var(--plat-copart-soft); }
.plate--salvage  { --pc: var(--status-salvage-hi);  --pc-soft: var(--status-salvage-hi-soft); }
.plate--wovr     { --pc: var(--status-wovr-repair); --pc-soft: var(--status-wovr-repair-soft); }
.plate--clear    { --pc: var(--status-wovr-na);     --pc-soft: var(--status-wovr-na-soft); }
.plate--sold     { --pc: var(--status-sold-slate);  --pc-soft: rgba(138, 151, 163, 0.14); }

/* Shared platform pill / badge surface helpers */
.plat-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
    border-radius: 999px;
    line-height: 1.2;
    border: 1px solid transparent;
    padding: 2px 8px;
}

/* ---- Class modifiers (prefer these over inline styles) ---- */
.plat-badge--pickles,
.sr-platform-pickles,
.vp-platform-badge.pickles,
.vpt-badge.pickles {
    background: var(--plat-pickles-soft) !important;
    color: var(--plat-pickles) !important;
    border-color: var(--plat-pickles-border);
}

.plat-badge--iaai,
.sr-platform-iaai,
.vp-platform-badge.iaai,
.vpt-badge.iaai {
    background: var(--plat-iaai-soft) !important;
    color: var(--plat-iaai) !important;
    border-color: var(--plat-iaai-border);
}

.plat-badge--manheim,
.sr-platform-manheim,
.vp-platform-badge.manheim,
.vpt-badge.manheim {
    background: var(--plat-manheim-soft) !important;
    color: var(--plat-manheim) !important;
    border-color: var(--plat-manheim-border);
}

.plat-badge--autorola,
.sr-platform-autorola {
    background: var(--plat-autorola-soft) !important;
    color: var(--plat-autorola) !important;
    border-color: var(--plat-autorola-border);
}

.plat-badge--copart,
.sr-platform-copart {
    background: var(--plat-copart-soft) !important;
    color: var(--plat-copart) !important;
    border-color: var(--plat-copart-border);
}

/* Auction landing cards — top accent bar only */
.au-platform-card.pickles::before { background: var(--plat-pickles) !important; }
.au-platform-card.iaai::before { background: var(--plat-iaai) !important; }
.au-platform-card.manheim::before { background: var(--plat-manheim) !important; }

/* GS-428: legacy al-plat lot-grid pills removed — the pulled chamfer plate
   (see .plate above + .al-plate-pulled in index.css) replaces them. */

/* ── On-photo overlays (GS-432 / GS-481) ────────────────────────────────
   Shared by lot-grid cards AND auction detail hero. Rules must live here
   (site-wide via base.html) — NOT only in index.css — or detail renders
   REPAIRABLE WO / STAT WO / SOLD as plain unstyled text (GS-481). */

/* Corner flag: salvage / WOVR / sold status, flush top-left, chamfered
   trailing edge. Variant A high-vis: salvage-hi fill, Base Dark text. */
.al-flag {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    padding: 4px 12px 4px 11px;
    background: var(--status-salvage-hi);
    color: #0B0E12;
    clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
}
.al-flag--wovr { background: var(--status-wovr-repair); }
.al-flag--sold { background: var(--status-sold-slate); }

/* Photo count chip — bottom-left so it never collides with the pulled
   plate zone at the seam. Hidden entirely when there is no photo. */
.al-count {
    position: absolute;
    bottom: 8px;
    left: 8px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.64rem;
    color: #B9C4CE;
    background: rgba(11, 14, 18, 0.74);
    border-radius: 5px;
    padding: 2px 8px;
    backdrop-filter: blur(3px);
}
