/* ===================================================================
   ProcIntel — REPORTS LIBRARY
   V1 Premium UX. Page-specific rules only.

   A publication library, not a list of links: each edition is a card,
   and a weekly edition shows Basic and Detailed as two LEVELS of the
   same edition, side by side -- never as two unrelated publications.
   =================================================================== */

.briefing-library {
  display: flex;
  flex-direction: column;
  gap: var(--sp-6);
  margin: var(--sp-7) 0 0;
  padding: 0;
  list-style: none;
}
.briefing-library .briefing-library-item {
  margin: 0;
  padding: var(--sp-8) var(--sp-9);
  background: var(--surface-panel);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  box-shadow: var(--sheen-top);
}
.briefing-library .briefing-library-item:last-child { border-bottom: 1px solid var(--border-default); }
.briefing-library-item[data-product="bulletin"] { border-left: 3px solid var(--accent-muted); }

.briefing-library .briefing-library-eyebrow {
  margin: 0 0 var(--sp-3);
  color: var(--accent-primary);
  font-size: var(--fs-label);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.briefing-library .briefing-library-title {
  margin: 0;
  color: var(--text-primary);
  font-family: var(--font-display);
  font-size: var(--fs-headline);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
}
.briefing-library .briefing-library-title a { color: var(--text-primary); text-decoration: none; }
.briefing-library .briefing-library-title a:hover { color: var(--accent-hover); }
.briefing-library .briefing-library-meta {
  margin: var(--sp-4) 0 0;
  color: var(--text-muted);
  font-size: var(--fs-meta);
}
.briefing-library .briefing-library-lede {
  margin: var(--sp-4) 0 0;
  color: var(--text-secondary);
  font-size: var(--fs-body);
  opacity: 1;
}

/* The product levels. A weekly edition's two levels sit in two equal
   cells, so the reader sees ONE edition offering two depths. */
.briefing-library .library-products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--sp-5);
  margin-top: var(--sp-7);
}
.briefing-library .library-product {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "name actions"
    "desc actions";
  align-items: center;
  gap: var(--sp-1) var(--sp-5);
  padding: var(--sp-5) var(--sp-6);
  background: var(--surface-inset);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
}
.briefing-library-item[data-product="bulletin"] .library-product { grid-template-areas: "actions actions"; }
.briefing-library .library-product-name {
  grid-area: name;
  color: var(--text-primary);
  font-size: var(--fs-card-title);
  font-weight: var(--fw-semibold);
  letter-spacing: normal;
  text-transform: none;
}
.briefing-library .library-product-desc { grid-area: desc; color: var(--text-muted); font-size: var(--fs-caption); }
.briefing-library .library-product > .library-read,
.briefing-library .library-product > .library-pdf,
.briefing-library .library-product > .library-locked { grid-row: 1 / span 2; }
.briefing-library .library-product > .library-read { grid-column: 2; justify-self: end; }
.briefing-library .library-product:has(> .library-read) { grid-template-columns: minmax(0, 1fr) auto auto; }
.briefing-library .library-product > .library-pdf { grid-column: 3; font-size: var(--fs-caption); opacity: 1; }
.briefing-library .library-locked {
  grid-column: 2;
  justify-self: end;
  color: var(--text-muted);
  font-size: var(--fs-caption);
  opacity: 1;
  text-align: right;
}
.briefing-library-item[data-product="bulletin"] .library-products { grid-template-columns: minmax(0, 1fr); }
.briefing-library-item[data-product="bulletin"] .library-product {
  display: flex;
  justify-content: flex-start;
  background: transparent;
  border: none;
  padding: 0;
}

@media (max-width: 639.98px) {
  .briefing-library .briefing-library-item { padding: var(--sp-7) var(--sp-6); }
  .briefing-library .library-products { grid-template-columns: minmax(0, 1fr); }
}

/* A bulletin has one product, so its locked message sits with the card's
   other content rather than floating alone at the far edge. */
.briefing-library-item[data-product="bulletin"] .library-locked { justify-self: start; text-align: left; }
