.nwc-sd-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:end;
  margin: 0 0 18px;
  padding: 10px;
  border:1px solid rgba(0,0,0,0.10);
  border-radius:12px;
}
.nwc-sd-filter{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.nwc-sd-filter-label{ font-size:12px; opacity:0.75; }
.nwc-sd-filters input[type="search"],
.nwc-sd-filters select{
  padding:10px;
  min-width: 200px;
}
.nwc-sd-apply{
  padding:10px 14px;
}

.nwc-sd-grid{
  display:grid;
  gap:16px;
  margin: 0 0 26px;
}

.nwc-cols-1{ grid-template-columns:1fr; }
.nwc-cols-2{ grid-template-columns:repeat(2,1fr); }
.nwc-cols-3{ grid-template-columns:repeat(3,1fr); }
.nwc-cols-4{ grid-template-columns:repeat(4,1fr); }
.nwc-cols-5{ grid-template-columns:repeat(5,1fr); }
.nwc-cols-6{ grid-template-columns:repeat(6,1fr); }

@media (max-width: 900px){
  .nwc-cols-3, .nwc-cols-4, .nwc-cols-5, .nwc-cols-6{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 560px){
  .nwc-sd-filters{ flex-direction:column; align-items:stretch; }
  .nwc-sd-filters input[type="search"], .nwc-sd-filters select{ min-width: unset; width:100%; }
  .nwc-cols-2, .nwc-cols-3, .nwc-cols-4, .nwc-cols-5, .nwc-cols-6{ grid-template-columns:1fr; }
}

.nwc-sd-card{
  display:block;
  border:1px solid rgba(0,0,0,0.12);
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
  background:#fff;
}

.nwc-sd-card:hover{
  border-color: rgba(0,0,0,0.25);
}

.nwc-sd-logo{
  width:100%;
  height:160px;
  object-fit:contain;
  background:#fff;
  display:block;
  padding:12px;
  box-sizing:border-box;
}

.nwc-sd-logo--placeholder{
  height:160px;
  background: linear-gradient(135deg, rgba(0,0,0,0.05), rgba(0,0,0,0.02));
}

.nwc-sd-body{ padding:14px 14px 16px; }
.nwc-sd-title-row{ display:flex; align-items:center; gap:8px; }
.nwc-sd-title{ margin:0; font-size:1.05rem; line-height:1.2; }
.nwc-sd-title a{ text-decoration:none; }
.nwc-sd-featured{ font-size:1rem; }

.nwc-sd-badges{ display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 8px; }
.nwc-sd-badge{
  display:inline-block;
  font-size:12px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.14);
  background: rgba(0,0,0,0.03);
}
.nwc-sd-badge.is-level{ background: rgba(0,0,0,0.06); }
.nwc-sd-badge.is-type{ background: rgba(0,0,0,0.03); }
.nwc-sd-badge.is-recog{ background: rgba(0,0,0,0.02); }

.nwc-sd-since{ margin:6px 0 10px; opacity:0.75; font-size:0.95rem; }
.nwc-sd-desc{ margin: 8px 0 10px; }
.nwc-sd-desc p{ margin: 0 0 10px; }

.nwc-sd-address{ opacity:0.85; margin: 10px 0 8px; }
.nwc-sd-contact{ opacity:0.95; font-size:0.95rem; }
.nwc-sd-contact .sep{ opacity:0.5; margin: 0 6px; }

.nwc-sd-gallery{ display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.nwc-sd-gallery-item img{ border-radius:8px; border:1px solid rgba(0,0,0,0.12); display:block; }

.nwc-sd-empty{ padding:12px; border:1px dashed rgba(0,0,0,0.25); border-radius:10px; }

/* Support record lists */
.nwc-sr-list{ margin:0; padding-left: 18px; }
.nwc-sr-item{ margin: 10px 0; }
.nwc-sr-meta{ opacity:0.7; font-weight: normal; }
.nwc-sr-note{ opacity:0.9; margin-top:4px; }

/* Logo-only directory variant */
.nwc-sd-card--logos .nwc-sd-desc,
.nwc-sd-card--logos .nwc-sd-address,
.nwc-sd-card--logos .nwc-sd-contact,
.nwc-sd-card--logos .nwc-sd-since,
.nwc-sd-card--logos .nwc-sd-gallery { display:none; }

.nwc-sd-card--logos .nwc-sd-title { margin-bottom: 8px; }

.nwc-sd-website-only a{
  display:inline-block;
  margin-top:8px;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,0.25);
}
.nwc-sd-website-only a:hover{
  border-bottom-color: rgba(0,0,0,0.6);
}
