/* A1 Microwave — Data Sheets library (replaces Document Library Pro) */
.a1ds {
  --a1-green: var(--e-global-color-primary, #00703B);
  --a1-green-dark: var(--e-global-color-94bb9f9, #024D2C);
  --a1-ink: var(--e-global-color-751ac97, #333333);
  --a1-muted: var(--e-global-color-text, #666666);
  --a1-line: #e3e7e5;
  --a1-soft: #f4f7f5;
  --a1-yellow: var(--e-global-color-9cf5fa5, #FFD304);
  font-family: "Titillium Web", Sans-serif;
  color: var(--a1-ink);
  text-align: left;
}
.a1ds *, .a1ds *::before, .a1ds *::after { box-sizing: border-box; }

/* toolbar */
.a1ds-search { position: relative; margin: 0 0 14px; }
.a1ds-search input {
  width: 100%; height: 52px; padding: 0 48px 0 18px;
  border: 2px solid var(--a1-line); border-radius: 4px; background: #fff;
  font: inherit; font-size: 17px; color: var(--a1-ink); transition: border-color .15s;
}
.a1ds-search input:focus { outline: none; border-color: var(--a1-green); }
.a1ds-search svg { position: absolute; right: 16px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); color: var(--a1-green); pointer-events: none; }

.a1ds-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 10px; align-items: end; margin-bottom: 14px; }
.a1ds-filters label { display: block; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--a1-muted); margin-bottom: 4px; }
.a1ds-filters select {
  width: 100%; height: 42px; padding: 0 34px 0 12px; border: 1px solid var(--a1-line); border-radius: 4px;
  font: inherit; font-size: 15px; color: var(--a1-ink); background: #fff;
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2300703B' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}
.a1ds-filters select:focus { outline: none; border-color: var(--a1-green); }
.a1ds-reset {
  height: 42px; padding: 0 16px; border: 1px solid var(--a1-green); border-radius: 4px; background: #fff;
  color: var(--a1-green); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap;
}
.a1ds-reset:hover { background: var(--a1-green); color: #fff; }

.a1ds-meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 4px 0 10px; font-size: 14px; color: var(--a1-muted); flex-wrap: wrap; }
.a1ds-meta strong { color: var(--a1-ink); }
.a1ds-meta select { height: 32px; border: 1px solid var(--a1-line); border-radius: 4px; font: inherit; font-size: 14px; padding: 0 6px; background: #fff; }

/* table */
.a1ds-table-wrap { border: 1px solid var(--a1-line); border-radius: 4px; overflow: hidden; background: #fff; }
.a1ds table { width: 100%; border-collapse: collapse; margin: 0; font-size: 15px; border: 0; }
.a1ds thead th {
  background: var(--a1-green); color: #fff; font-weight: 600; text-align: left; padding: 12px 14px;
  font-size: 14px; letter-spacing: .02em; border: 0; white-space: nowrap; user-select: none;
}
.a1ds thead th[data-sort] { cursor: pointer; }
.a1ds thead th[data-sort]::after { content: "\2195"; opacity: .45; margin-left: 6px; font-size: 12px; }
.a1ds thead th.is-asc::after { content: "\2191"; opacity: 1; }
.a1ds thead th.is-desc::after { content: "\2193"; opacity: 1; }
.a1ds tbody td { text-align: left; padding: 11px 14px; border: 0; border-top: 1px solid var(--a1-line); vertical-align: middle; color: var(--a1-ink); background: #fff; }
.a1ds tbody tr:nth-child(even) td { background: var(--a1-soft); }
.a1ds tbody tr:hover td { background: #e8f2ec; }
.a1ds .pn { font-weight: 700; color: var(--a1-green-dark); white-space: nowrap; }
.a1ds .tag { display: inline-block; padding: 2px 8px; border-radius: 3px; background: #e6f0ea; color: var(--a1-green-dark); font-size: 13px; white-space: nowrap; }
.a1ds .dir { font-size: 13px; font-weight: 600; color: var(--a1-muted); white-space: nowrap; }
.a1ds .size { font-size: 13px; color: var(--a1-muted); white-space: nowrap; }
.a1ds .dl {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 3px;
  background: var(--a1-green); color: #fff !important; font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap;
  transition: background .15s;
}
.a1ds .dl:hover { background: var(--a1-green-dark); }
.a1ds .dl svg { width: 14px; height: 14px; }
.a1ds mark { background: #fff1a6; color: inherit; padding: 0 1px; }
.a1ds-empty { padding: 40px 20px; text-align: center; color: var(--a1-muted); }

/* pager */
.a1ds-pager { display: flex; justify-content: center; gap: 4px; margin-top: 16px; flex-wrap: wrap; }
.a1ds-pager button {
  min-width: 38px; height: 38px; padding: 0 10px; border: 1px solid var(--a1-line); border-radius: 4px; background: #fff;
  font: inherit; font-size: 14px; color: var(--a1-ink); cursor: pointer;
}
.a1ds-pager button:hover:not(:disabled) { border-color: var(--a1-green); color: var(--a1-green); }
.a1ds-pager button.is-current { background: var(--a1-green); border-color: var(--a1-green); color: #fff; }
.a1ds-pager button:disabled { opacity: .4; cursor: default; }

/* page layout tweak: library full width, enquiry form below it */
.a1ds-fullwidth { width: 100% !important; }
.a1ds-form-below { width: 100% !important; max-width: 760px; margin: 30px auto 0; }

@media (max-width: 900px) {
  .a1ds-filters { grid-template-columns: 1fr 1fr; }
  .a1ds-reset { grid-column: span 2; }
}
@media (max-width: 680px) {
  .a1ds-filters { grid-template-columns: 1fr; }
  .a1ds-reset { grid-column: auto; }
  .a1ds thead { display: none; }
  .a1ds table, .a1ds tbody, .a1ds tr, .a1ds td { display: block; width: 100%; }
  .a1ds tbody tr { border-top: 1px solid var(--a1-line); padding: 12px 14px; }
  .a1ds tbody tr:nth-child(even) td, .a1ds tbody td { background: transparent; }
  .a1ds tbody tr:nth-child(even) { background: var(--a1-soft); }
  .a1ds tbody td { border: 0; padding: 2px 0; }
  .a1ds td.c-band, .a1ds td.c-type, .a1ds td.c-dir, .a1ds td.c-size { display: inline-block; width: auto; margin: 6px 6px 0 0; }
  .a1ds td.c-dl { margin-top: 10px; }
}
