.cartgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;margin:30px 0 40px;align-items:start}
.item{display:grid;grid-template-columns:84px 1fr auto;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:12px;margin-bottom:14px;box-shadow:var(--shadow)}
.thumb{width:84px;height:84px;border-radius:4px;background:repeating-linear-gradient(45deg,#EAF2FF,#EAF2FF 8px,#F5F9FF 8px,#F5F9FF 16px);overflow:hidden;display:grid;place-items:center;font-size:.7rem;color:var(--mute);text-align:center}
.thumb img{width:100%;height:100%;object-fit:cover}
.iname{font-weight:800}
.imeta{font-size:.85rem;color:var(--mute)}
.iprice{font-weight:800;color:var(--blue)}
.iside{text-align:right;display:grid;gap:8px;justify-items:end}
.qtyc{display:flex;align-items:center;border:1px solid var(--line);border-radius:4px;background:#fff}
.qtyc button{width:34px;height:34px;border:0;background:#fff;font:800 1.1rem Manrope,sans-serif;cursor:pointer;color:var(--blue)}
.qtyc span{min-width:34px;text-align:center;font-weight:800}
.rm{background:none;border:0;color:#B91C1C;font:700 .85rem Manrope,sans-serif;cursor:pointer;text-decoration:underline}
.checkout{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--yellow);border-radius:6px;padding:24px;box-shadow:var(--shadow);position:sticky;top:90px}
.totalrow{display:flex;justify-content:space-between;font-size:1.3rem;margin:10px 0;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.field{margin-bottom:14px}
.field label{display:block;font-weight:700;font-size:.9rem;margin-bottom:5px}
.field input,.field textarea{width:100%;padding:12px;border:1px solid #94A3B8;border-radius:4px;font:inherit;background:#fff}
.field textarea{min-height:70px;resize:vertical}
.radios{display:flex;gap:20px;margin-bottom:14px}
.radios label{font-weight:700;display:flex;gap:6px;align-items:center;cursor:pointer}
.bad{border-color:#B91C1C !important;background:#FEF2F2 !important}
.err{color:#B91C1C;font-weight:700;min-height:1.4em;margin-bottom:6px}
.done{color:#166534;font-weight:700;margin-bottom:10px}
.empty{grid-column:auto;padding:40px 20px}
.empty .btn{margin:6px}
.btn.ghost{background:#fff;border:2px solid var(--blue);color:var(--blue);text-align:center}
@media(max-width:900px){.cartgrid{grid-template-columns:1fr}.checkout{position:static}}
@media(max-width:520px){
.item{grid-template-columns:64px 1fr}
.thumb{width:64px;height:64px}
.iside{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;width:100%}
}