
.dl-product-content{max-width:1500px;margin:0 auto;padding:16px}
.dl-library{max-width:1500px;margin:0 auto;padding:0 0 16px}
.dl-topbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;margin:0 0 12px}
.dl-categories{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dl-categories-label{font-weight:600;margin-right:4px}
.dl-cat{display:inline-block;padding:6px 12px;border:1px solid #e5e5e5;border-radius:999px;background:#fff;text-decoration:none;font-size:13px}
.dl-cat:hover{background:#f7f7f7}
.dl-cat.is-active{border-color:#111;background:#111;color:#fff}
.dl-cartstatus{display:flex;gap:10px;align-items:center}
.dl-cartlink{text-decoration:none}
.dl-cartmeta{opacity:.75;font-size:13px}
.dl-folders{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 16px}
.dl-folder{display:inline-block;padding:6px 10px;border:1px solid #e5e5e5;border-radius:999px;background:#fff;text-decoration:none}
.dl-folder:hover{background:#f7f7f7}
.dl-up{margin-left:auto}
.dl-empty{padding:18px;border:1px dashed #ddd;border-radius:14px;background:#fafafa}
.dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin:0 0 18px}
.dl-card{border:1px solid #e6e6e6;border-radius:14px;background:#fff;overflow:hidden;display:flex;flex-direction:column;outline:none}
.dl-card:focus{box-shadow:0 0 0 3px rgba(2,159,233,.35);border-color:#029fe9}
.dl-thumbwrap{background:#fafafa;border-bottom:1px solid #eee}
.dl-thumbwrap img{display:block;width:100%;height:200px;object-fit:contain}
.dl-title{padding:10px 12px 4px;font-size:12px;line-height:1.2;word-break:break-word}
.dl-controls{padding:8px 12px 10px;display:flex;flex-direction:column;gap:10px}
.dl-label{display:flex;flex-direction:column;gap:6px;font-size:12px}
.dl-size{width:100%}
.dl-qtywrap{display:flex;align-items:center;gap:8px}
.dl-qtylabel{font-size:12px;opacity:.8;min-width:28px}
.dl-qtybtn{width:32px;height:32px;border-radius:10px;border:1px solid #ddd;background:#fff;cursor:pointer;font-size:18px;line-height:1}
.dl-qtybtn:hover{background:#f7f7f7}
.dl-qty{width:72px;text-align:center;height:32px;border-radius:10px;border:1px solid #ddd}
.dl-status{padding:0 12px 12px;font-size:12px;opacity:.8;min-height:18px}

/* Preview overlay */
.dl-preview{position:fixed;inset:0;z-index:999999;display:none}
.dl-preview.is-open{display:block}
.dl-preview-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.dl-preview-stage{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;gap:12px}
.dl-preview-img{max-width:min(96vw,1400px);max-height:86vh;width:auto;height:auto;object-fit:contain;border-radius:14px;background:#fff;cursor:pointer}
.dl-preview-close{
  position:absolute;top:14px;right:14px;
  width:54px;height:54px;border-radius:999px;
  border:1px solid rgba(0,0,0,.15);
  background:rgba(255,255,255,.92);
  color:#111;font-size:34px;line-height:52px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:1000000;
  box-shadow:0 8px 18px rgba(0,0,0,.25);
}
.dl-preview-close:hover{background:#fff}
.dl-preview-hint{color:#fff;font-size:14px;opacity:.95;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25);padding:8px 12px;border-radius:999px}
.dl-preview-hint kbd{font-family:inherit;background:rgba(255,255,255,.2);padding:2px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.25)}
