/* Additions for ERP-integrated states. Does not restyle any existing selector. */
.cart-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--pill);color:var(--indigo);text-decoration:none;transition:background .2s}
.cart-link:hover{background:var(--violet-wash)}
.cart-count{position:absolute;top:2px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--magenta);color:#fff;font:600 10.5px/17px var(--f-mono);text-align:center}
.dstate.wait{background:rgba(201,154,63,.16);color:#8A6420}
.drow.is-unknown .dprice{opacity:.85}
.dnote{flex-basis:100%;font-size:.72rem;color:var(--ink-3);margin-top:-.2rem}
.dwhois-out{flex-basis:100%;font-size:.78rem;color:var(--ink-2);background:var(--violet-wash);border-radius:var(--r-s);padding:.55rem .7rem;margin-top:.3rem}
.dwhois-out small{display:block;color:var(--ink-3);margin-top:.2rem}
.pc-btn.busy{opacity:.7;pointer-events:none}
.alert{padding:1rem 1.2rem;border-radius:var(--r);background:var(--violet-wash);color:var(--ink);font-size:.95rem;margin-bottom:1rem}
.alert.ok{background:rgba(47,185,138,.14)}
.alert.err{background:rgba(224,51,143,.12);color:#B01F6A}
.spin{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:jspin .7s linear infinite;vertical-align:-2px;margin-right:.3rem}
@keyframes jspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}
.quote-note{font-size:.74rem;color:var(--ink-3);text-align:center;margin:.5rem 0 0;font-family:var(--f-mono)}
/* cart & checkout (new pages, same design language) */
.cart-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(24px,3vw,44px);align-items:start}
@media (max-width:900px){.cart-grid{grid-template-columns:1fr}}
.cart-line{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--rule)}
.cart-line:last-child{border-bottom:0}
.cart-line .desc{font-weight:600}
.cart-line .sub{font-size:.8rem;color:var(--ink-3);font-family:var(--f-mono)}
.cart-line .amt{font-family:var(--f-mono);white-space:nowrap}
.cart-line .rm{background:none;border:0;color:var(--ink-3);cursor:pointer;font-size:1rem}
.cart-line .rm:hover{color:var(--magenta)}
.sum-row{display:flex;justify-content:space-between;padding:.45rem 0;font-size:.95rem}
.sum-row.total{border-top:1px solid var(--rule);margin-top:.5rem;padding-top:.9rem;font-size:1.25rem;font-family:var(--f-display)}
.sum-row b{font-family:var(--f-mono)}
.paymeth{display:grid;gap:.6rem}
.paymeth label{display:flex;gap:.8rem;align-items:center;padding:.8rem 1rem;border:1px solid var(--rule-2);border-radius:var(--r-s);cursor:pointer}
.paymeth label:has(input:checked){border-color:var(--violet);background:var(--violet-wash)}
.paymeth input{accent-color:var(--violet)}
.instructions{background:var(--violet-wash);border-radius:var(--r);padding:1.1rem 1.3rem;margin:1rem 0}
.instructions ol{margin:.5rem 0 0 1.1rem;padding:0}
.instructions li{margin:.25rem 0}
.cart-empty{text-align:center;padding:3rem 1rem;color:var(--ink-3)}
