.wpdm3f-wrap { max-width: 1100px; margin: 0 auto; }
.wpdm3f-filters { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin-bottom: 16px; }
.wpdm3f-row { display: flex; flex-direction: column; min-width: 180px; }
.wpdm3f-row label { font-weight: 600; margin-bottom: 6px; }
.wpdm3f-row select, .wpdm3f-row input[type="text"] {
  padding: 8px 10px; border: 1px solid #ddd; border-radius: 8px; min-height: 38px;
}
.wpdm3f-btn {
  padding: 10px 16px; border: 0; border-radius: 10px; background: #1D51FFC4; color: #fff; cursor: pointer;
}
.wpdm3f-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.wpdm3f-card { border: 1px solid #eee; border-radius: 14px; padding: 14px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.04); display: flex; flex-direction: column; gap: 8px; }
.wpdm3f-title { font-size: 16px; margin: 0; }
.wpdm3f-excerpt { margin: 0; color: #555; font-size: 14px; }
.wpdm3f-download { margin-top: 6px; display: inline-block; padding: 8px 12px; border-radius: 10px; background: #0f62fe; color: #fff; text-decoration: none; }
.wpdm3f-download:hover { opacity: .92; }
.wpdm3f-pagination { display: flex; gap: 8px; margin-top: 18px; flex-wrap: wrap; }
.wpdm3f-page { padding: 6px 10px; border: 1px solid #ddd; border-radius: 8px; text-decoration: none; color: #333; }
.wpdm3f-page.active { background: #111; color: #fff; border-color: #111; }
.wpdm3f-empty { color: #777; }
