/* Product document library. The public shell and technical background stay shared. */
.shop-public[data-shop-page="documents"] .documents-library {
  padding-block: 24px 48px;
}
.shop-public[data-shop-page="documents"] .documents-library .documents-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 16px 32px;
  max-width: none;
  margin: 0;
  padding: 32px;
  border-radius: 12px;
  background: var(--color-action);
  color: var(--color-action-text);
}
.shop-public[data-shop-page="documents"] .documents-library .documents-hero h1 {
  max-width: none;
  margin: 0 0 16px;
  font-size: var(--shop-title);
  line-height: 1.2;
  letter-spacing: normal;
  color: inherit;
}
.shop-public[data-shop-page="documents"] .documents-library .documents-hero p {
  margin: 0;
  max-width: 70ch;
  color: inherit;
  font-size: var(--shop-text-base);
}
.documents-hero-art {
  width: 240px;
  height: 180px;
  align-self: center;
  grid-column: 2;
  grid-row: 1 / 3;
  color: var(--color-surface-accent);
}
.shop-public[data-shop-page="documents"] .documents-library .seo-document-search {
  display: block;
  min-width: 0;
  margin: 0;
}
.shop-public[data-shop-page="documents"] .documents-library .seo-document-search label span {
  margin-bottom: 8px;
  font-size: var(--shop-text-sm);
  font-weight: 700;
}
.documents-search-controls {
  display: flex;
  gap: 8px;
}
.documents-search-field {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
  padding-left: 16px;
  border-radius: 8px;
  background: var(--color-surface);
  color: var(--color-text);
}
.documents-search-field svg { flex-shrink: 0; }
.shop-public[data-shop-page="documents"] .documents-library .documents-search-field input {
  min-width: 0;
  min-height: 48px;
  border: 0;
  background: transparent;
  color: var(--color-text);
  font-size: var(--shop-text-base);
}
.shop-public[data-shop-page="documents"] .documents-library .seo-document-search .button {
  min-height: 48px;
  gap: 16px;
  border: 2px solid var(--color-brand-yellow);
  border-radius: 8px;
  background: var(--color-brand-yellow);
  color: var(--color-text);
  font-size: var(--shop-text-sm);
}
.shop-public[data-shop-page="documents"] .documents-library .seo-document-search .button:hover {
  background: var(--color-surface);
  border-color: var(--color-surface);
}
.shop-public[data-shop-page="documents"] .documents-library .documents-reading {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 24px;
  margin: 12px 0 24px;
  padding: 20px 24px;
  border-left: 4px solid var(--color-brand-green);
  border-radius: 8px;
  background: var(--color-status-success-bg);
  color: var(--color-text);
}
.shop-public[data-shop-page="documents"] .documents-library .documents-reading h2 {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  font-size: var(--shop-text-base);
  line-height: 1.55;
  letter-spacing: normal;
}
.documents-reading h2 svg { flex-shrink: 0; }
.shop-public[data-shop-page="documents"] .documents-library .documents-reading p {
  max-width: none;
  margin: 0;
  font-size: var(--shop-text-sm);
  line-height: 1.55;
}
.shop-public[data-shop-page="documents"] .documents-library .documents-reading p + p { margin-top: 8px; }
.shop-public[data-shop-page="documents"] .documents-library .seo-document-results {
  display: grid;
  gap: 16px;
}
.shop-public[data-shop-page="documents"] .documents-library .seo-document-product {
  min-width: 0;
  padding: 0;
  border: 1px solid var(--color-border-control);
  border-radius: 12px;
  background: var(--color-surface);
}
.documents-product-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  padding: 8px 12px;
  border-radius: 7px 7px 0 0;
  background: var(--color-action);
  color: var(--color-action-text);
}
.documents-product-heading > div { min-width: 0; }
.shop-public[data-shop-page="documents"] .documents-library .documents-product-heading h2 {
  margin: 0;
  color: inherit;
  font-size: var(--shop-text-sm);
  line-height: 1.3;
  letter-spacing: normal;
}
.shop-public[data-shop-page="documents"] .documents-library .documents-product-heading h2 a {
  color: inherit;
  text-decoration: none;
}
.shop-public[data-shop-page="documents"] .documents-library .documents-product-heading h2 a:hover { text-decoration: underline; }
.shop-public[data-shop-page="documents"] .documents-library .seo-product-code {
  margin: 8px 0 0;
  font-size: var(--shop-text-xs);
  color: inherit;
}
.shop-public[data-shop-page="documents"] .documents-library .documents-product-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-shrink: 0;
  min-height: 44px;
  max-width: 240px;
  font-size: var(--shop-text-sm);
  font-weight: 700;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.shop-public[data-shop-page="documents"] .documents-library .seo-document-list { margin: 0; }
.shop-public[data-shop-page="documents"] .documents-library .seo-document-list li {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) 100px;
  align-items: center;
  gap: 8px 12px;
  padding: 8px 12px;
  margin: 0;
  border: 0;
  border-radius: 0;
}
.shop-public[data-shop-page="documents"] .documents-library .seo-document-list li + li {
  border-top: 1px solid var(--color-border-shop);
}
.documents-type {
  justify-self: start;
  max-width: 100%;
  padding: 4px 8px;
  border-radius: 4px;
  background: var(--color-surface-accent);
  color: var(--color-text);
  font-size: var(--shop-text-xs);
  font-weight: 700;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
[data-document-kind="tds"] .documents-type { font-size: var(--shop-text-sm); }
[data-document-kind="sds"] .documents-type {
  background: var(--color-brand-pink);
  font-size: var(--shop-text-sm);
}
[data-document-kind="approval"] .documents-type { background: var(--color-brand-green); }
[data-document-kind="archive"] .documents-type {
  background: var(--color-disabled-surface);
  color: var(--color-text-muted);
  border: 1px solid var(--color-border-control);
}
.documents-file-description { min-width: 0; }
.shop-public[data-shop-page="documents"] .documents-library .seo-document-list h3 {
  font-size: var(--shop-text-sm);
  line-height: 1.55;
  letter-spacing: normal;
}
.documents-file-description small {
  display: block;
  margin-top: 4px;
  font-size: var(--shop-text-xs);
  color: var(--color-text-muted);
}
.shop-public[data-shop-page="documents"] .documents-library .seo-document-list dl {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin-top: 4px;
  font-size: var(--shop-text-xs);
  color: var(--color-text-muted);
}
.shop-public[data-shop-page="documents"] .documents-library .seo-document-list dl:empty { display: none; }
.shop-public[data-shop-page="documents"] .documents-library .seo-document-list dl div { gap: 4px; }
.shop-public[data-shop-page="documents"] .documents-library .seo-document-list dt::after { content: ":"; }
.shop-public[data-shop-page="documents"] .documents-library .seo-document-list dd { overflow-wrap: anywhere; }
.shop-public[data-shop-page="documents"] .documents-library .documents-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--color-link);
  border-radius: 8px;
  background: var(--color-surface);
  color: var(--color-link);
  font-size: var(--shop-text-sm);
  line-height: 1.55;
}
.documents-open svg { flex-shrink: 0; }
.shop-public[data-shop-page="documents"] .documents-library .documents-open:hover {
  background: var(--color-action-hover);
  color: var(--color-action-text);
  border-color: var(--color-action-hover);
}
.shop-public[data-shop-page="documents"] .documents-library .seo-empty {
  padding: 24px;
  border: 1px solid var(--color-border-control);
  border-radius: 12px;
  background: var(--color-surface);
}
.shop-public[data-shop-page="documents"] .documents-library .seo-empty h2 { font-size: var(--shop-panel-title, 22px); }
.shop-public[data-shop-page="documents"] .documents-library :is(.seo-pagination .button, .seo-empty .button) {
  min-height: 44px;
  border-radius: 8px;
  font-size: var(--shop-text-sm);
}
.shop-public[data-shop-page="documents"] .documents-library :is(.documents-hero, .documents-product-heading) :is(a, button, input):focus-visible {
  outline: 3px solid var(--color-brand-yellow);
  outline-offset: 4px;
}
.shop-public[data-shop-page="documents"] .documents-library .seo-document-search .button:focus-visible {
  outline-color: var(--color-surface);
}
@media (max-width: 1100px) {
  .shop-public[data-shop-page="documents"] .documents-library .documents-hero { grid-template-columns: minmax(0, 1fr) 160px; gap: 16px 24px; }
  .documents-hero-art { width: 160px; height: 120px; }
  .shop-public[data-shop-page="documents"] .documents-library .seo-document-list li { grid-template-columns: 72px minmax(0, 1fr) 80px; }
  .shop-public[data-shop-page="documents"] .documents-library .documents-reading { grid-template-columns: 200px minmax(0, 1fr); }
}
@media (max-width: 800px) {
  .shop-public[data-shop-page="documents"] .documents-library .documents-hero { padding: 24px; grid-template-columns: minmax(0, 1fr); }
  .documents-hero-art { display: none; }
  .shop-public[data-shop-page="documents"] .documents-library .documents-reading { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 20px; }
  .shop-public[data-shop-page="documents"] .documents-library .seo-document-list li { grid-template-columns: 64px minmax(0, 1fr); }
  .shop-public[data-shop-page="documents"] .documents-library .documents-open { grid-column: 2; justify-self: start; }
  .documents-product-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
}
@media (max-width: 500px) {
  .shop-public[data-shop-page="documents"] .documents-library { padding-block: 16px 32px; }
  .shop-public[data-shop-page="documents"] .documents-library .documents-hero { padding: 20px; }
  .documents-search-controls { flex-direction: column; }
  .shop-public[data-shop-page="documents"] .documents-library .seo-document-search .button { justify-content: space-between; }
  .documents-product-heading { padding: 8px 12px; }
  .shop-public[data-shop-page="documents"] .documents-library .documents-product-heading h2 { font-size: var(--shop-text-sm); }
  .shop-public[data-shop-page="documents"] .documents-library .seo-document-list li { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 8px 12px; }
  .shop-public[data-shop-page="documents"] .documents-library .documents-open { grid-column: 1; justify-self: stretch; }
  .shop-public[data-shop-page="documents"] .documents-library .seo-pagination .button { width: 100%; }
}

/* Reviewed approval evidence is grouped by issuer, never presented as shop endorsement. */
.shop-public[data-shop-page="documents"] .approval-library {
  margin-bottom: 32px; padding: 24px; border: 1px solid var(--color-border-control);
  border-radius: 12px; background: var(--color-surface); scroll-margin-top: 24px;
}
.shop-public[data-shop-page="documents"] .approval-library-heading {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.shop-public[data-shop-page="documents"] .approval-library-heading h2 {
  margin: 0 0 8px; font-size: var(--shop-section-title); letter-spacing: normal;
}
.shop-public[data-shop-page="documents"] .approval-library-heading p {
  margin: 0; font-size: var(--shop-text-xs); color: var(--color-text-muted);
}
/* A compact manufacturer index stays beside standardized evidence rows. */
.shop-public[data-shop-page="documents"] .approval-browser {
  display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 16px; margin-top: 16px; align-items: start;
}
.shop-public[data-shop-page="documents"] .approval-issuer-nav {
  position: sticky; top: 16px;
  display: grid; gap: 4px; padding: 8px; border: 1px solid var(--color-border-control);
  border-radius: 8px; background: var(--color-surface-accent);
}
.shop-public[data-shop-page="documents"] .approval-issuer-nav a {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  min-height: 44px; padding: 8px; border-radius: 4px; font-size: var(--shop-text-sm);
  line-height: 1.3; color: var(--color-text); text-decoration: none; overflow-wrap: anywhere;
}
.shop-public[data-shop-page="documents"] .approval-issuer-nav a:hover { background: var(--color-surface); }
.shop-public[data-shop-page="documents"] .approval-issuer-nav a[aria-current="page"] {
  background: var(--color-brand-yellow); font-weight: 700;
}
.shop-public[data-shop-page="documents"] .approval-nav-count { flex-shrink: 0; font-size: var(--shop-text-xs); }
.shop-public[data-shop-page="documents"] .approval-manufacturers { display: grid; gap: 12px; min-width: 0; }
.shop-public[data-shop-page="documents"] .approval-download {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  min-height: 44px; padding: 8px 12px; margin: 0; border: 1px solid var(--color-link);
  border-radius: 8px; background: var(--color-surface); color: var(--color-link);
  font-size: var(--shop-text-sm); line-height: 1.55;
}
.shop-public[data-shop-page="documents"] .approval-download { flex-direction: column; justify-content: center; gap: 0; }
.shop-public[data-shop-page="documents"] .approval-pdf-label { display: flex; align-items: center; gap: 8px; }
.shop-public[data-shop-page="documents"] .approval-download small { font-size: var(--shop-text-xs); line-height: 1.3; text-align: center; }
.shop-public[data-shop-page="documents"] :is(.approval-issuer-nav a, .approval-download, .documents-open):focus-visible {
  outline: 3px solid var(--color-link); outline-offset: 3px;
}
.shop-public[data-shop-page="documents"] .approval-download:hover {
  border-color: var(--color-action-hover); background: var(--color-action-hover); color: var(--color-action-text);
}
@media (max-width: 1100px) {
  .shop-public[data-shop-page="documents"] .approval-browser { grid-template-columns: 170px minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .shop-public[data-shop-page="documents"] .approval-library { padding: 20px; }
  .shop-public[data-shop-page="documents"] .approval-library-heading { flex-direction: column; align-items: stretch; gap: 16px; }
  .shop-public[data-shop-page="documents"] .approval-browser { grid-template-columns: minmax(0, 1fr); }
  .shop-public[data-shop-page="documents"] .approval-issuer-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-public[data-shop-page="documents"] .approval-issuer-nav { position: static; }
  .shop-public[data-shop-page="documents"] .approval-issuer-nav > a:first-child { grid-column: 1 / -1; }
}

.shop-public[data-shop-page="documents"] .documents-library .documents-open { flex-direction: column; gap: 0; }
.shop-public[data-shop-page="documents"] .documents-library .documents-open small { font-size: var(--shop-text-xs); }

/* One shared column header replaces repeated field labels in every document. */
.shop-public[data-shop-page="documents"] .approval-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: var(--shop-text-sm); }
.shop-public[data-shop-page="documents"] .approval-table th,
.shop-public[data-shop-page="documents"] .approval-table td { padding: 8px; text-align: left; vertical-align: middle; overflow-wrap: anywhere; border-bottom: 1px solid var(--color-border-control); }
.shop-public[data-shop-page="documents"] .approval-table thead th { font-size: var(--shop-text-xs); font-weight: 400; color: var(--color-text-muted); background: var(--color-surface-info); }
.shop-public[data-shop-page="documents"] .approval-table thead th:nth-child(1) { width: 24%; }
.shop-public[data-shop-page="documents"] .approval-table thead th:nth-child(2) { width: 30%; }
.shop-public[data-shop-page="documents"] .approval-table thead th:nth-child(3),
.shop-public[data-shop-page="documents"] .approval-table thead th:nth-child(4) { width: 17%; }
.shop-public[data-shop-page="documents"] .approval-table thead th:nth-child(5) { width: 12%; }
.shop-public[data-shop-page="documents"] .approval-table-group th { padding: 8px 12px; background: var(--color-surface-accent); font-weight: 700; }
.shop-public[data-shop-page="documents"] .approval-table small { display: block; font-size: var(--shop-text-xs); font-weight: 400; }
.shop-public[data-shop-page="documents"] .approval-table :is(.approval-table-product, .approval-table-issued, .approval-table-end) { font-weight: 700; }
.shop-public[data-shop-page="documents"] .approval-table time { white-space: nowrap; }
@media (max-width: 800px) {
  .shop-public[data-shop-page="documents"] .approval-table :is(tbody, tr, td, th) { display: block; }
  .shop-public[data-shop-page="documents"] .approval-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .shop-public[data-shop-page="documents"] .approval-table .approval-file { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 12px; border-bottom: 1px solid var(--color-border-control); }
  .shop-public[data-shop-page="documents"] .approval-table td { padding: 0; border: 0; }
  .shop-public[data-shop-page="documents"] .approval-table :is(.approval-table-spec, .approval-table-product, .approval-table-action) { grid-column: 1 / -1; }
  .shop-public[data-shop-page="documents"] .approval-table .approval-table-issued::before { content: "↦ "; }
  .shop-public[data-shop-page="documents"] .approval-table .approval-table-end::before { content: "→ "; }
}
