.pdl-wrap { margin: 24px 0; }

.pdl-banner {
  display: flex;
  align-items: center;
  gap: 18px;
  background: linear-gradient(135deg, #1F3864 0%, #16294c 100%);
  border-radius: 10px;
  padding: 26px 28px;
  margin-bottom: 20px;
}
.pdl-banner-icon {
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #B8860B;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pdl-banner-icon svg { width: 28px; height: 28px; }

/* Higher specificity + !important: themes (Astra included) commonly style
   h1-h6 globally, which would otherwise override the banner's own colors. */
.pdl-wrap .pdl-banner .pdl-banner-title {
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
}
.pdl-wrap .pdl-banner .pdl-banner-desc {
  margin: 6px 0 0 !important;
  color: #cdd7ea !important;
  font-size: 14px !important;
}

.pdl-controls {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 18px;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  padding: 10px;
}
.pdl-controls select,
.pdl-controls input[type="search"] {
  padding: 9px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  background: #fafafa;
}
.pdl-controls select:focus,
.pdl-controls input[type="search"]:focus {
  outline: none;
  border-color: #B8860B;
  background: #fff;
}
.pdl-controls input[type="search"] { flex: 1; min-width: 200px; }

.pdl-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  overflow: hidden;
}
.pdl-table th, .pdl-table td {
  padding: 12px 16px;
  text-align: left;
}
.pdl-table th {
  background: #1F3864;
  color: #fff;
  cursor: pointer;
  user-select: none;
  font-weight: 600;
  white-space: nowrap;
}
.pdl-table th[data-sort]::after { content: " \21C5"; opacity: .55; font-size: 11px; margin-left: 4px; }
.pdl-table th[data-dir]::after { opacity: 1; color: #B8860B; }

.pdl-table tbody tr { border-bottom: 1px solid #eee; transition: background-color .15s ease; }
.pdl-table tbody tr:last-child { border-bottom: none; }
.pdl-table tbody tr:nth-child(even) { background: #fafafa; }
.pdl-table tbody tr:hover { background: #FBF3E1; }
.pdl-table tbody tr.pdl-hidden { display: none; }

.pdl-download-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  background: #B8860B;
  color: #fff !important;
  border-radius: 5px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  transition: background-color .15s ease, transform .1s ease;
}
.pdl-download-btn::before { content: "\2193"; font-size: 12px; }
.pdl-download-btn:hover { background: #9c7009; transform: translateY(-1px); }

.pdl-empty {
  padding: 28px;
  text-align: center;
  color: #888;
  background: #fafafa;
  border: 1px dashed #ddd;
  border-radius: 8px;
}

/* ---------------- Additional files (tenders/bundles) ---------------- */
.pdl-extra-files { margin-top: 6px; font-size: 12px; }
.pdl-extra-files summary { cursor: pointer; color: #1F3864; font-weight: 600; }
.pdl-extra-files ul { margin: 6px 0 0; padding-left: 16px; }
.pdl-extra-files li { margin-bottom: 4px; }
.pdl-extra-files a { color: #B8860B; }

.pdl-file-list { list-style: none; margin: 12px 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pdl-file-list li { display: flex; align-items: center; gap: 12px; }
.pdl-file-label { font-size: 14px; color: #333; }
.pdl-btn-outline { background: transparent !important; color: #1F3864 !important; border: 1px solid #1F3864; }
.pdl-btn-outline::before { color: #1F3864; }

/* ---------------- Admin: additional files repeater ---------------- */
.pdl-extra-file-row { border: 1px solid #eee; border-radius: 6px; padding: 12px; margin-bottom: 12px; background: #fafafa; }
.pdl-extra-file-row hr { display: none; }

/* ---------------- Responsive table: stack into labeled cards ---------------- */
@media (max-width: 700px) {
  .pdl-controls { flex-direction: column; }
  .pdl-controls select, .pdl-controls input[type="search"] { width: 100%; }

  .pdl-table, .pdl-table thead, .pdl-table tbody, .pdl-table th, .pdl-table td, .pdl-table tr {
    display: block;
  }
  .pdl-table thead { position: absolute; left: -9999px; top: -9999px; } /* hide visually, keep for screen readers */
  .pdl-table tbody tr {
    border: 1px solid #e6e6e6;
    border-radius: 8px;
    margin-bottom: 12px;
    padding: 6px 14px;
  }
  .pdl-table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
    text-align: right;
  }
  .pdl-table td:last-child { border-bottom: none; }
  .pdl-table td::before {
    content: attr(data-label);
    font-weight: 600;
    color: #1F3864;
    text-align: left;
    margin-right: 12px;
  }
  .pdl-table td[data-label="File"] { flex-direction: column; align-items: flex-end; }
}
