/* ==========================================================================
   Pure Amino — Certificate of Analysis card
   Shared by the PDP COA section and the Lab Results page. Full-width card in
   the brand editorial system (paper fill, hairlines, square corners, mono
   labels) with a confident verification green for purity + pass marks.
   ========================================================================== */

.pa-coa {
    --coa-green:      #12844F;   /* purity + pass green (reads on white) */
    --coa-green-soft: #EAF5EE;   /* tinted pass wash */
    --coa-line:       var(--hairline, #B8B6B6);
    --coa-ink:        var(--ink, #1B1D1C);
    --coa-mut:        var(--ink-3, #5B5D5B);

    display: block;
    width: 100%;
    background: var(--paper, #fff);
    border: 1px solid var(--coa-ink);
    color: var(--coa-ink);
    font-family: var(--font-body);
}

.pa-coa + .pa-coa { margin-top: 20px; }

/* ---- Top: badges + title ------------------------------------------------ */
.pa-coa-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 18px 22px;
    border-bottom: 1px solid var(--coa-line);
}
.pa-coa-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.pa-coa-badge {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 5px 9px;
    border: 1px solid var(--coa-line);
    color: var(--coa-mut);
    white-space: nowrap;
}
.pa-coa-badge.is-latest { background: var(--coa-ink); color: var(--paper, #fff); border-color: var(--coa-ink); }
.pa-coa-badge.is-count  { color: var(--coa-green); border-color: var(--coa-green); }

.pa-coa-title { display: flex; align-items: baseline; gap: 10px; }
.pa-coa-title h3 { margin: 0; font-size: 19px; font-weight: 600; letter-spacing: -.01em; }
.pa-coa-dose {
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: .06em;
    color: var(--coa-mut);
}

/* ---- Body: purity | meta | panel ---------------------------------------- */
.pa-coa-body {
    display: grid;
    grid-template-columns: 0.85fr 1fr 1.15fr;
    align-items: stretch;
}
.pa-coa-body > * { padding: 24px 22px; }
.pa-coa-body > * + * { border-left: 1px solid var(--coa-line); }

/* Purity hero */
.pa-coa-purity { display: flex; flex-direction: column; justify-content: center; text-align: center; }
.pa-coa-pct {
    font-family: var(--font-mono);
    font-size: 44px;
    line-height: 1;
    font-weight: 600;
    color: var(--coa-green);
    letter-spacing: -.02em;
}
.pa-coa-pct span { font-size: 22px; margin-left: 1px; }
.pa-coa-pct-label {
    margin-top: 8px;
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--coa-mut);
}
.pa-coa-pass {
    margin-top: 16px;
    font-size: 12px;
    font-weight: 600;
    color: var(--coa-green);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    justify-content: center;
}
.pa-coa-check {
    display: inline-flex; align-items: center; justify-content: center;
    width: 16px; height: 16px;
    background: var(--coa-green); color: #fff;
    border-radius: 50%; font-size: 10px;
}

/* Meta list */
.pa-coa-meta dl { margin: 0; display: flex; flex-direction: column; gap: 0; }
.pa-coa-meta dl > div {
    display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid var(--coa-line);
}
.pa-coa-meta dl > div:last-child { border-bottom: 0; }
.pa-coa-meta dt {
    font-family: var(--font-mono);
    font-size: 10px; letter-spacing: .1em; text-transform: uppercase;
    color: var(--coa-mut);
}
.pa-coa-meta dd { margin: 0; font-size: 13px; text-align: right; }
.pa-coa-meta dd.mono { font-family: var(--font-mono); letter-spacing: .02em; }
.pa-coa-meta dd.is-actual { color: var(--coa-green); font-weight: 600; }

/* QC panel */
.pa-coa-panel-head {
    display: flex; align-items: baseline; justify-content: space-between;
    font-family: var(--font-mono);
    font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
    color: var(--coa-ink);
    padding-bottom: 10px; margin-bottom: 4px;
    border-bottom: 1px solid var(--coa-ink);
}
.pa-coa-panel-count { color: var(--coa-mut); }
.pa-coa-panel ul { list-style: none; margin: 0; padding: 0; }
.pa-coa-panel li {
    display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
    padding: 7px 0;
    border-bottom: 1px solid var(--coa-line);
    font-size: 12.5px;
}
.pa-coa-panel li:last-child { border-bottom: 0; }
.pa-coa-analyte { color: var(--coa-mut); }
.pa-coa-result {
    text-align: right;
    font-family: var(--font-mono); font-size: 12px; letter-spacing: .01em;
    display: inline-flex; align-items: center; gap: 6px;
}
.pa-coa-result.is-pass { color: var(--coa-green); }
.pa-coa-tick {
    display: inline-flex; align-items: center; justify-content: center;
    width: 14px; height: 14px; font-size: 9px;
    background: var(--coa-green-soft); color: var(--coa-green);
    border-radius: 50%;
}

/* ---- Footer: verify + view button --------------------------------------- */
.pa-coa-foot {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    flex-wrap: wrap;
    padding: 16px 22px;
    border-top: 1px solid var(--coa-line);
}
.pa-coa-verify { display: flex; flex-direction: column; gap: 3px; }
.pa-coa-lab { font-size: 12px; font-weight: 600; }
.pa-coa-code {
    font-family: var(--font-mono);
    font-size: 10.5px; letter-spacing: .04em; color: var(--coa-mut);
}
.pa-coa-view {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--coa-ink); color: var(--paper, #fff);
    text-decoration: none;
    font-family: var(--font-mono);
    font-size: 12px; letter-spacing: .1em; text-transform: uppercase;
    padding: 12px 22px;
    border: 1px solid var(--coa-ink);
    transition: background .18s, color .18s;
    white-space: nowrap;
}
.pa-coa-view:hover { background: #000; }
.pa-coa-doc { font-size: 13px; }

/* ---- Responsive --------------------------------------------------------- */
@media (max-width: 900px) {
    .pa-coa-body { grid-template-columns: 1fr 1fr; }
    .pa-coa-panel { grid-column: 1 / -1; border-left: 0 !important; border-top: 1px solid var(--coa-line); }
}
@media (max-width: 620px) {
    .pa-coa-body { grid-template-columns: 1fr; }
    .pa-coa-body > * + * { border-left: 0; border-top: 1px solid var(--coa-line); }
    .pa-coa-top { flex-direction: column; gap: 12px; }
    .pa-coa-pct { font-size: 40px; }
    .pa-coa-foot { flex-direction: column; align-items: stretch; }
    .pa-coa-view { justify-content: center; }
}

/* ==========================================================================
   PDP COA section (woocommerce/content-single-product.php)
   ========================================================================== */
.pa-coa-section {
    padding: 80px 40px;
    border-bottom: 1px solid var(--hairline, #B8B6B6);
}
.pa-coa-intro { margin-bottom: 28px; max-width: 60ch; }
.pa-coa-intro .axis-left {
    display: flex; align-items: center; gap: 9px;
    font-family: var(--font-mono);
    font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
}
.pa-coa-intro .axis-left .d { width: 7px; height: 7px; background: #12844F; display: inline-block; }
.pa-coa-intro h2 { margin: 0 0 12px; font-size: clamp(24px, 3vw, 32px); letter-spacing: -.01em; font-weight: 600; }
.pa-coa-intro p { margin: 0 0 16px; font-size: 14px; line-height: 1.6; color: var(--ink-2, #2E302E); }
.pa-coa-alllink {
    font-family: var(--font-mono);
    font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
    color: var(--ink, #1B1D1C); text-decoration: none;
    border-bottom: 1px solid var(--ink, #1B1D1C); padding-bottom: 2px;
}
.pa-coa-alllink:hover { color: #12844F; border-color: #12844F; }
.pa-coa-alllink .arr { transition: transform .18s; display: inline-block; }
.pa-coa-alllink:hover .arr { transform: translateX(3px); }

.pa-coa-soon {
    border: 1px dashed var(--hairline, #B8B6B6);
    padding: 28px 24px;
    display: flex; flex-direction: column; gap: 10px; align-items: flex-start;
}
.pa-coa-soon-badge {
    font-family: var(--font-mono);
    font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
    color: var(--ink-3, #5B5D5B);
    border: 1px solid var(--hairline, #B8B6B6); padding: 5px 9px;
}
.pa-coa-soon p { margin: 0; font-size: 13px; color: var(--ink-3, #5B5D5B); }
.pa-coa-soon a { color: inherit; }

@media (max-width: 900px) { .pa-coa-section { padding: 56px 22px; } }
@media (max-width: 620px) { .pa-coa-section { padding: 44px 18px; } }

/* ==========================================================================
   Lab Results page (page-lab-results.php) — wrapper chrome around the cards
   ========================================================================== */
.pa-lab {
    --lab-ink: var(--ink, #1B1D1C);
    max-width: 1120px;
    margin: 0 auto;
    padding: 72px 24px 96px;
    color: var(--lab-ink);
}
.pa-lab-hero { border-bottom: 1px solid var(--ink, #1B1D1C); padding-bottom: 32px; margin-bottom: 44px; }
.pa-lab-eyebrow {
    font-family: var(--font-mono);
    font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
    color: var(--ink-3, #5B5D5B);
    display: flex; align-items: center; gap: 9px;
    margin-bottom: 20px;
}
.pa-lab-eyebrow .d { width: 7px; height: 7px; background: #12844F; display: inline-block; }
.pa-lab-hero h1 {
    margin: 0 0 14px;
    font-size: clamp(30px, 5vw, 46px);
    line-height: 1.02; letter-spacing: -.02em; font-weight: 600;
}
.pa-lab-hero p { margin: 0; max-width: 60ch; font-size: 15px; line-height: 1.6; color: var(--ink-2, #2E302E); }
.pa-lab-stats {
    display: flex; flex-wrap: wrap; gap: 28px;
    margin-top: 26px;
}
.pa-lab-stat { display: flex; flex-direction: column; gap: 2px; }
.pa-lab-stat b { font-family: var(--font-mono); font-size: 24px; font-weight: 600; color: #12844F; }
.pa-lab-stat span {
    font-family: var(--font-mono);
    font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3, #5B5D5B);
}

.pa-lab-group { margin-bottom: 40px; }
.pa-lab-group-head {
    display: flex; align-items: baseline; gap: 12px;
    margin-bottom: 16px;
}
.pa-lab-group-head .cat {
    font-family: var(--font-mono);
    font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3, #5B5D5B);
    margin-left: auto;
}
.pa-lab-group-head h2 { margin: 0; font-size: 22px; font-weight: 600; letter-spacing: -.01em; }
.pa-lab-group-head a { color: inherit; text-decoration: none; }
.pa-lab-group-head a:hover { text-decoration: underline; }

/* Pending catalog list */
.pa-lab-pending {
    margin-top: 56px; padding-top: 28px;
    border-top: 1px solid var(--hairline, #B8B6B6);
}
.pa-lab-pending h2 { margin: 0 0 6px; font-size: 15px; font-weight: 600; }
.pa-lab-pending p { margin: 0 0 16px; font-size: 13px; color: var(--ink-3, #5B5D5B); }
.pa-lab-pending ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pa-lab-pending li {
    font-family: var(--font-mono);
    font-size: 11px; letter-spacing: .04em;
    padding: 7px 12px; border: 1px solid var(--hairline, #B8B6B6); color: var(--ink-3, #5B5D5B);
}

.pa-lab-disclaimer {
    margin-top: 48px; padding-top: 22px;
    border-top: 1px solid var(--hairline, #B8B6B6);
    font-size: 11px; line-height: 1.6; color: var(--ink-4, #8D8F8D);
    max-width: 78ch;
}

@media (max-width: 620px) {
    .pa-lab { padding: 48px 18px 72px; }
    .pa-lab-stats { gap: 20px; }
}
