.ngdp-portal {
  --ngdp-accent:#FF6A3D;
  --ngdp-card-bg:#111;
  --ngdp-card-text:inherit;
  --ngdp-button-text:#000;
  --ngdp-border:rgba(255,255,255,.10);
  --ngdp-radius:18px;
  --ngdp-gap:24px;
  --ngdp-padding:18px;
  --ngdp-columns:3;
  --ngdp-image-ratio:4/3;
  color: inherit;
}
.ngdp-filters { display:grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap:12px; margin:0 0 28px; }
.ngdp-filters input, .ngdp-filters select, .ngdp-filters button { width:100%; padding:12px 14px; border:1px solid rgba(255,255,255,.16); border-radius:10px; background:#111; color:#fff; min-height:44px; }
.ngdp-filters button { background:var(--ngdp-accent); color:var(--ngdp-button-text); font-weight:800; border-color:var(--ngdp-accent); cursor:pointer; text-transform:uppercase; }
.ngdp-grid { display:grid; grid-template-columns: repeat(var(--ngdp-columns),minmax(0,1fr)); gap:var(--ngdp-gap); }
.ngdp-layout-list .ngdp-grid { grid-template-columns:1fr; }
.ngdp-layout-list .ngdp-card { display:grid; grid-template-columns: minmax(180px, 28%) 1fr; }
.ngdp-card { background:var(--ngdp-card-bg); color:var(--ngdp-card-text); border:1px solid var(--ngdp-border); border-radius:var(--ngdp-radius); overflow:hidden; box-shadow:0 12px 30px rgba(0,0,0,.25); }
.ngdp-dj-image { width:100%; aspect-ratio: var(--ngdp-image-ratio); object-fit:cover; display:block; }
.ngdp-placeholder { aspect-ratio:var(--ngdp-image-ratio); display:flex; align-items:center; justify-content:center; text-align:center; background:linear-gradient(135deg,#222,#000); color:var(--ngdp-accent); font-weight:900; letter-spacing:.08em; }
.ngdp-card-body { padding:var(--ngdp-padding); }
.ngdp-card h3 { margin:0 0 8px; font-size:1.4rem; text-transform:uppercase; }
.ngdp-meta { margin:0 0 8px; opacity:.85; }
.ngdp-mixcloud-player { margin-top:12px; border-radius:10px; overflow:hidden; }
.ngdp-actions { margin-bottom:0; }
.ngdp-actions a, .ngdp-action { display:inline-block; color:var(--ngdp-accent); font-weight:700; margin:6px 14px 0 0; text-decoration:none; }
.ngdp-actions a:hover { text-decoration:underline; }
@media (max-width: 900px) { .ngdp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ngdp-layout-list .ngdp-card { grid-template-columns:1fr; } }
@media (max-width: 600px) { .ngdp-grid { grid-template-columns:1fr; } }
.ngdp-pagination { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:center; margin:30px 0 0; }
.ngdp-page-summary { opacity:.8; margin-right:8px; }
.ngdp-page-link { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:10px 16px; border:1px solid var(--ngdp-border); border-radius:999px; color:var(--ngdp-accent); text-decoration:none; font-weight:800; text-transform:uppercase; }
.ngdp-page-link:hover { background:var(--ngdp-accent); color:var(--ngdp-button-text); border-color:var(--ngdp-accent); }
.ngdp-page-link.is-disabled { opacity:.35; pointer-events:none; cursor:not-allowed; }
