/* BioBear Lab — design layer. Colours/fonts primarily come from WoodMart Theme Settings; these tokens mirror them. */
:root{
  --bb-ink:#07080a; --bb-surface:#0e1013; --bb-surface-2:#15181c; --bb-line:#25292e; --bb-line-2:#33383e;
  --bb-text:#e4e6e2; --bb-muted:#9a9e97; --bb-olive:#8c9570; --bb-olive-hi:#aeb78f; --bb-olive-lo:#4a5038; --bb-steel:#c3c6c9;
  --bb-display:"Saira",system-ui,sans-serif; --bb-body:"IBM Plex Sans",system-ui,sans-serif; --bb-mono:"IBM Plex Mono",ui-monospace,monospace;
  --bb-radius:6px;
}
body{background:var(--bb-ink);}
.bb-eyebrow{font-family:var(--bb-display);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--bb-olive-hi);font-weight:600}
.bb-mono{font-family:var(--bb-mono)}

/* Research-use notices */
.bb-ruo-box{border:1px solid var(--bb-olive-lo);background:linear-gradient(180deg,rgba(140,149,112,.08),rgba(140,149,112,.02));border-radius:var(--bb-radius);padding:16px 18px;margin:22px 0 8px;font-size:13px;line-height:1.6;color:var(--bb-muted)}
.bb-ruo-box p{margin:0 0 8px}
.bb-ruo-box__title{font-family:var(--bb-display);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:var(--bb-olive-hi)!important}
.bb-ruo-box__links{display:flex;gap:10px;flex-wrap:wrap;margin:0!important}
.bb-ruo-box__links a{color:var(--bb-text);text-decoration:underline;text-underline-offset:3px}
.bb-ruo-line{border-left:3px solid var(--bb-olive);background:var(--bb-surface);padding:12px 16px;margin:0 0 24px;font-size:13px;color:var(--bb-muted);border-radius:0 var(--bb-radius) var(--bb-radius) 0}
.bb-mini-ruo{font-size:11px;line-height:1.5;color:var(--bb-muted);margin:0 0 12px;padding:8px 10px;border:1px dashed var(--bb-line-2);border-radius:var(--bb-radius)}
.bb-footer-note{font-size:12px;line-height:1.7;color:var(--bb-muted);margin:0;max-width:980px}
.bb-attest{margin:0 0 16px!important;padding:14px 16px;border:1px solid var(--bb-olive-lo);border-radius:var(--bb-radius);background:rgba(140,149,112,.06)}
.bb-attest label{display:flex!important;gap:10px;align-items:flex-start;font-size:13px;line-height:1.55;color:var(--bb-text)}
.bb-attest input{margin-top:3px!important;flex:none;accent-color:var(--bb-olive)}
.bb-attest a{color:var(--bb-olive-hi);text-decoration:underline}

/* Lab report */
.bb-coa{margin:18px 0 0;border:1px solid var(--bb-line);border-radius:var(--bb-radius);padding:16px 18px;background:var(--bb-surface)}
.bb-coa__title{font-family:var(--bb-display);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;margin:0 0 10px;color:var(--bb-text)}
.bb-coa__title span{letter-spacing:.04em;text-transform:none;font-weight:500;color:var(--bb-muted);margin-left:8px}
.bb-coa__table{width:100%;margin:0 0 10px;font-size:13px}
.bb-coa__table th,.bb-coa__table td{padding:6px 0!important;border-bottom:1px solid var(--bb-line)!important;text-align:left;background:none!important}
.bb-coa__table td{text-align:right;font-family:var(--bb-mono);color:var(--bb-text)}
.bb-coa__link{font-weight:600;color:var(--bb-olive-hi)!important;text-decoration:underline;text-underline-offset:3px}
.bb-coa__note{font-size:11px;color:var(--bb-muted);margin:8px 0 0}

/* Catalogue cards */
.bb-sizes{font-family:var(--bb-mono);font-size:12px;color:var(--bb-muted);margin:2px 0 6px;letter-spacing:.02em}
.bb-from{font-size:.72em;text-transform:uppercase;letter-spacing:.14em;color:var(--bb-muted);font-weight:600;margin-right:2px}
.product-label.bb-label-sizes{background:rgba(7,8,10,.82)!important;color:var(--bb-olive-hi)!important;border:1px solid var(--bb-olive-lo);font-family:var(--bb-display);letter-spacing:.12em}
.bb-size-badge{position:absolute;top:10px;left:10px;z-index:3;background:rgba(7,8,10,.82);color:var(--bb-olive-hi);border:1px solid var(--bb-olive-lo);font-size:11px;padding:3px 8px;border-radius:3px;text-transform:uppercase;letter-spacing:.12em}

/* Tables, empty states, pending notes */
.bb-table-wrap{overflow-x:auto}
.bb-coa-lib{width:100%;font-size:14px}
.bb-coa-lib th{font-family:var(--bb-display);text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--bb-muted)}
.bb-empty{border:1px dashed var(--bb-line-2);border-radius:var(--bb-radius);padding:28px;text-align:center;color:var(--bb-muted)}
.bb-empty__title{font-family:var(--bb-display);text-transform:uppercase;letter-spacing:.16em;color:var(--bb-text);font-weight:700;margin:0 0 8px}
.bb-pending{border:1px solid #9a7b1f;background:rgba(154,123,31,.12);color:#e5cf8a;padding:10px 14px;border-radius:var(--bb-radius);font-size:13px;margin:12px 0}

/* Contact form */
.bb-contact{max-width:680px}
.bb-contact__row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.bb-contact label{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--bb-muted);margin-bottom:6px;font-family:var(--bb-display);font-weight:600}
.bb-contact__hint{font-size:12px;color:var(--bb-muted)}
.bb-hp{position:absolute!important;left:-9999px!important}
.bb-form-msg{padding:12px 16px;border-radius:var(--bb-radius);margin-bottom:18px;font-size:14px}
.bb-form-msg--ok{border:1px solid var(--bb-olive);color:var(--bb-olive-hi)}
.bb-form-msg--err{border:1px solid #a33;color:#f0a0a0}
@media (max-width:640px){.bb-contact__row{grid-template-columns:1fr}}
