.design-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--card-gap); }
.design-card { display:flex; flex-direction:column; gap:var(--space-5); min-width:0; }
.design-preview { aspect-ratio:4/3; display:grid; place-items:center; background:var(--color-panel-alt); border-radius:var(--radius-control); overflow:hidden; }
.design-preview > * { grid-area:1/1; }
.design-preview img { width:100%; height:100%; max-height:260px; object-fit:contain; }
.design-preview .muted { padding:var(--space-5); text-align:center; }
.design-options { display:grid; gap:var(--space-2); font-size:var(--text-small); }
.design-options dt { color:var(--color-text-muted); }
.design-options dd { margin:0 0 var(--space-2); overflow-wrap:anywhere; }
.design-actions { display:flex; flex-wrap:wrap; gap:var(--space-3); margin-top:auto; }
.design-actions .btn { flex:1 1 auto; min-height:var(--tap-target); }
.design-actions .link-button { min-height:var(--tap-target); }
.design-actions button:disabled { cursor:default; opacity:.6; }
.design-notice { color:var(--color-text-muted); font-size:var(--text-small); }
.design-confirm { display:flex; flex-direction:column; gap:var(--space-3); }
.design-quantity { display:flex; flex-wrap:wrap; gap:var(--space-3); }
.design-quantity label { display:flex; flex:1 0 100%; gap:var(--space-4); align-items:center; }
.design-quantity input { width:90px; min-height:var(--tap-target); padding:var(--space-3); color:var(--color-text); background:var(--color-panel-alt); border:1px solid var(--color-border); border-radius:var(--radius-control); }
.design-quantity .small { flex:1 0 100%; overflow-wrap:anywhere; }
.library-cart { box-sizing:border-box; position:fixed; inset:0 0 0 auto; margin:0; width:440px; max-width:100%; height:100%; max-height:100%; padding:var(--space-6); color:var(--color-text); background:var(--color-panel); border:1px solid var(--color-border); overflow:auto; }
.library-cart::backdrop { background:var(--color-panel-alt); opacity:.75; }
.library-cart-head { display:flex; gap:var(--space-4); align-items:center; justify-content:space-between; }
.library-cart-items { display:grid; gap:var(--space-6); margin:var(--space-6) 0; }
.library-cart-item { display:grid; grid-template-columns:90px minmax(0,1fr); gap:var(--space-4); align-items:start; }
.library-cart-item h3 { font-size:var(--text-body); overflow-wrap:anywhere; }
.library-cart-image { width:90px; aspect-ratio:1; display:grid; place-items:center; background:var(--color-panel-alt); overflow:hidden; border-radius:var(--radius-control); }
.library-cart-image > * { grid-area:1/1; }
.library-cart-image img { width:100%; height:100%; object-fit:contain; }
.library-cart-image .muted { font-size:var(--text-small); text-align:center; }
.library-cart-image [hidden],.design-preview [hidden] { display:none; }
@media(min-width:640px) { .design-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(min-width:1251px) { .design-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
