/* feat-certs: certification picker, filter chips, storefront badges.
   Identity: soft white surfaces, ink #161616, grey secondary, #ececea borders,
   teal #0e7c74 reserved for small brand moments. */

/* ---- Supplier profile: certification checkbox picker ---- */
.cert-picker { border: 1px solid #ececea; border-radius: 16px; padding: 16px 16px; margin: 12px 0; background: #fff; }
.cert-picker > legend { font-weight: 600; color: #161616; padding: 0 8px; font-size: 14px; }
.cert-picker-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-top: 4px; }
.cert-check { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid #ececea; border-radius: 999px; background: #fafaf9; cursor: pointer; font-size: 13px; color: #161616; transition: border-color .15s ease, background .15s ease; }
.cert-check:hover { border-color: #c9c9c7; }
.cert-check input[type="checkbox"] { accent-color: #0e7c74; width: 15px; height: 15px; margin: 0; flex: none; }
.cert-check:has(input:checked) { border-color: #0e7c74; background: #eef7f5; font-weight: 600; }
.cert-others { margin-top: 12px; padding-top: 12px; border-top: 1px dashed #ececea; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cert-others-label { font-size: 12px; color: #6b6b6b; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.cert-other { background: #f4f4f3; }
.cert-hint { margin: 8px 0 0; font-size: 12.5px; color: #6b6b6b; }

/* ---- Filter chips (products list + manufacturers) ---- */
.cert-filter-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0 4px; }
.cert-filter-label { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #6b6b6b; margin-right: 0px; }

/* ---- Storefront certification badges ---- */
.cert-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; }
.cert-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; font-weight: 600; color: #161616; background: #fff; border: 1px solid #ececea; border-radius: 999px; padding: 4px 12px; box-shadow: 0 1px 3px rgba(0,0,0,.04); }
.cert-badge::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: #0e7c74; flex: none; }
/* Certificate authentication (2026-10-25): admin-authenticated certs only. */
.cert-badge-auth { border-color: #15803d; background: #f0fdf4; }
.cert-badge-auth::before { background: #15803d; }
.cert-badge-auth-mark { font-size: 11.5px; font-weight: 700; color: #15803d; }

@media (max-width: 700px) {
  .cert-picker-grid { grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); }
  .cert-check { min-height: 44px; }
}

/* ---- Spec-attribute filter pills (Alibaba gap #10) ---- */
.spec-filter-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 12px 0 4px; }
.spec-group { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.spec-group-name { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #6b6b6b; margin-right: 0px; }
.pm-chip.pm-chip-sm { padding: 4px 12px; font-size: 12.5px; }
