/* COA Library — ported verbatim from Claude Design "COA Library.html". */

.coa-toolbar { max-width: 1400px; margin: 0 auto; padding: 24px 32px; display: grid; grid-template-columns: 1fr auto auto; gap: 16px; align-items: center; border-bottom: 1px solid var(--line); }
.coa-toolbar .meta { font-size: 14px; color: var(--ink-3); }
.coa-toolbar .meta strong { color: var(--ink); }
.coa-toolbar .sort-pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; background: #fff; border: 1px solid var(--line-2); border-radius: 999px; font-size: 13px; color: var(--ink-2); cursor: pointer; }
.coa-toolbar .sort-pill::after { content: '\25BE'; font-size: 9px; color: var(--ink-3); }
.coa-toolbar .view-toggle { display: flex; border: 1px solid var(--line-2); border-radius: 999px; padding: 2px; }
.coa-toolbar .view-btn { width: 32px; height: 32px; border-radius: 999px; display: flex; align-items: center; justify-content: center; color: var(--ink-3); background: transparent; border: 0; cursor: pointer; }
.coa-toolbar .view-btn.active { background: var(--ink); color: #fff; }

.filter-bar { max-width: 1400px; margin: 0 auto; padding: 16px 32px; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; border-bottom: 1px solid var(--line); }
.filter-bar .label { font-family: var(--mono); font-size: 10px; color: var(--ink-3); letter-spacing: 0.1em; text-transform: uppercase; margin-right: 4px; }
.filter-bar .divider { width: 1px; height: 22px; background: var(--line); margin: 0 4px; }

.coa-grid { max-width: 1400px; margin: 0 auto; padding: 40px 32px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.coa-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; transition: border-color .15s, transform .15s; cursor: pointer; text-decoration: none; color: inherit; }
.coa-card:hover { border-color: var(--ink); }
.coa-card-img { aspect-ratio: 1; background: var(--paper-2); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: center; position: relative; }
.coa-card-img .vial-wrap { width: 50%; height: 80%; }
.coa-pass { position: absolute; top: 12px; left: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; background: #f1faf3; border: 1px solid #c4dfcc; border-radius: 999px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ok); font-weight: 600; }
.coa-pass::before { content: '\2713'; }
.coa-tested { position: absolute; bottom: 12px; right: 12px; font-family: var(--mono); font-size: 10px; color: var(--ink-3); background: rgba(255,255,255,0.9); border: 1px solid var(--line); border-radius: 4px; padding: 3px 8px; letter-spacing: 0.06em; }
.coa-card-body { padding: 16px; }
.coa-name { font-size: 16px; font-weight: 600; line-height: 1.2; }
.coa-name .size { color: var(--ink-3); font-weight: 500; }
.coa-cas { font-family: var(--mono); font-size: 10px; color: var(--ink-3); letter-spacing: 0.04em; margin-top: 4px; }
.coa-card-row { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--line); display: flex; justify-content: space-between; align-items: center; }
.coa-lot { font-family: var(--mono); font-size: 11px; color: var(--ink-2); }
.coa-purity { font-family: var(--display); font-size: 18px; }
.coa-card-cta { display: flex; padding: 0 16px 16px; gap: 8px; }
.coa-card-cta .btn { padding: 8px 12px; font-size: 12px; flex: 1; }
.coa-card-cta .btn-primary { flex: 2; }

.coa-pagination { max-width: 1400px; margin: 0 auto; padding: 0 32px 80px; display: flex; justify-content: center; align-items: center; gap: 8px; }
.coa-pagination .page-btn { width: 38px; height: 38px; border: 1px solid var(--line-2); border-radius: 999px; display: flex; align-items: center; justify-content: center; font-family: var(--mono); font-size: 13px; background: #fff; color: var(--ink-2); cursor: pointer; }
.coa-pagination .page-btn.active { background: var(--ink); color: #fff; border-color: var(--ink); }
.coa-pagination .page-btn.arrow { width: auto; padding: 0 18px; gap: 6px; font-family: var(--sans); font-size: 13px; }

@media (max-width: 880px) {
  .coa-grid { grid-template-columns: 1fr 1fr; }
  .coa-toolbar { grid-template-columns: 1fr; }
}
