
:root{ --z-ink:#2b2b2b; --z-ink-2:#6b6b6b; --z-line:#ece6dc; --ink-2:#4a4a4a; --linb:#ff8a1f; }
/* whole card links Amazon; the Details chip keeps the internal page */
.category-product-card[data-p3], .fruite-item[data-p3], .linb-vcard{ position:relative; overflow:hidden; }
.card-amz{ position:absolute; inset:0; z-index:3; }
.card-details{ position:absolute; top:10px; right:10px; z-index:4; background:#fff; color:#333 !important;
  border:1px solid rgba(0,0,0,.12); border-radius:999px; padding:3px 11px; font-size:.72rem; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; text-decoration:none !important; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.card-details:hover{ background:var(--linb); color:#fff !important; }
.card-cta{ position:relative; z-index:4; }
.category-product-card[data-p3] .trust-points{ margin:.4rem 0 0; }
/* availability line on product pages */
.linb-avail{ margin:1rem 0 0; padding:.75rem 1rem; border-left:4px solid var(--linb); background:#fff8f0;
  border-radius:8px; font-size:.92rem; color:#444; }
/* other versions */
.linb-versions .linb-vcard{ background:#fff; border:1px solid var(--z-line); border-radius:14px; }
.linb-vimg{ aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; background:#fff; padding:.6rem; }
.linb-vimg img{ max-width:100%; max-height:100%; object-fit:contain; }
.linb-vcard h6{ font-size:.86rem; line-height:1.35; }
/* guides and sitemap */
.linb-prose{ max-width:980px; }
.linb-prose h2{ margin:2.2rem 0 .8rem; font-size:1.55rem !important; }
.linb-prose p, .linb-prose li{ font-size:1.02rem; line-height:1.7; color:#3a3a3a; }
.spec-table-wrap{ overflow-x:auto; margin:1rem 0 1.4rem; }
.spec-table{ width:100%; border-collapse:collapse; font-size:.92rem; background:#fff; }
.spec-table th, .spec-table td{ border-bottom:1px solid var(--z-line); padding:.6rem .7rem; text-align:left; vertical-align:top; }
.spec-table thead th{ background:#fff4e6; font-weight:700; }
details.faq{ border:1px solid var(--z-line); border-radius:10px; padding:.7rem 1rem; margin:.6rem 0; background:#fff; }
details.faq summary{ font-weight:700; cursor:pointer; }
details.faq p{ margin:.5rem 0 0; }
.widget{ border:1px solid var(--z-line); border-radius:14px; padding:1.1rem 1.2rem; margin:1.4rem 0; background:#fff; }
.widget select{ width:100%; padding:.5rem; border-radius:8px; border:1px solid #ccc; }
.widget-sub{ color:var(--z-ink-2); font-size:.9rem; }
.widget-out dl{ display:grid; grid-template-columns:max-content 1fr; gap:.3rem 1rem; margin:.8rem 0 0; }
.widget-out dt{ font-weight:700; }
.verdict{ display:inline-block; padding:2px 10px; border-radius:999px; font-size:.78rem; font-weight:700; margin-top:.6rem; }
.verdict.yes{ background:#e7f6ec; color:#15803d; } .verdict.warn{ background:#fff4e6; color:#b45309; } .verdict.no{ background:#fde8e8; color:#b91c1c; }
@media (max-width:575.98px){ .linb-prose p, .linb-prose li{ font-size:.96rem; } }

/* ---- inline-SVG figures ------------------------------------------------ */
.chart-figure{ margin:1.6rem 0 2rem; padding:1.1rem 1.2rem 1rem;
  border:1px solid var(--z-line); border-radius:14px; background:#fff; }
.chart-title{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700;
  font-size:.95rem; color:var(--z-ink); margin:0 0 .8rem; }
.chart-svg{ display:block; max-width:100%; height:auto; overflow:visible; }
.chart-note{ font-size:.8rem; color:var(--z-ink-2); margin:.8rem 0 0; }
@media (max-width:575.98px){ .chart-figure{ padding:.9rem .7rem; } }


/* ---------- trust points on product cards ------------------------------
   Replaces the "4.6 stars from N ratings" line. Three earned claims, no
   numbers. See trust_points.py for how a card qualifies for each one.     */
.trust-points{
  display:inline-block; text-align:left;
  list-style:none; margin:.15rem 0 1.15rem; padding:0;
}
.trust-points li{
  display:flex; align-items:flex-start; gap:.6rem;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.875rem; font-weight:600; line-height:1.4;
  color:var(--ink-2);
}
.trust-points li + li{ margin-top:.44rem; }
.trust-points li::before{
  /* deliberately NOT --accent: the check must not read as another CTA */
  content:"\2713";
  flex:0 0 14px; margin-top:.01rem;
  color:#16A34A;
  font-size:.95rem; font-weight:700; line-height:1.3;
}
@media (max-width:575.98px){
  .trust-points li{ font-size:.83rem; }
}


/* ---- interactive widgets ----------------------------------------------- */
.widget{ border:1px solid var(--z-line, var(--line, #E4E8E4)); border-radius:16px; background:#fff;
  padding:1.15rem 1.25rem 1.3rem; margin:1.8rem 0 2.2rem; }
.widget > h3{ font-size:1.05rem; margin:0 0 .25rem; }
.widget .widget-sub{ font-size:.85rem; color:var(--z-ink-2, var(--ink-2, #5A635C)); margin:0 0 1rem; }
.widget label{ font-size:.78rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.03em; color:var(--z-ink-2, var(--ink-2, #5A635C)); display:block; margin-bottom:.3rem; }
.widget select,.widget input[type=search]{
  width:100%; max-width:100%; padding:.55rem .75rem; font-size:.95rem;
  border:1px solid var(--z-line, var(--line, #E4E8E4)); border-radius:10px; background:var(--z-paper-2, var(--paper-2, #fff));
  color:var(--z-ink, var(--ink, #1F2421)); }
.widget select:focus,.widget input:focus{ outline:2px solid var(--z-accent,#23794A);
  outline-offset:1px; }
.widget-controls{ display:flex; gap:.9rem; flex-wrap:wrap; margin-bottom:1rem; }
.widget-controls > div{ flex:1 1 190px; }
.widget-out{ border-top:1px solid var(--z-line, var(--line, #E4E8E4)); padding-top:1rem; }
.widget-out dl{ display:grid; grid-template-columns:auto 1fr; gap:.35rem 1rem;
  margin:0 0 .9rem; font-size:.92rem; }
.widget-out dt{ color:var(--z-ink-2, var(--ink-2, #5A635C)); }
.widget-out dd{ margin:0; font-weight:600; }
.verdict{ display:inline-block; font-size:.78rem; font-weight:700; padding:.3rem .7rem;
  border-radius:999px; margin-bottom:.7rem; }
.verdict.yes{ background:#E7F6EC; color:#137A3C; }
.verdict.no{ background:#FDECEC; color:#A32020; }
.verdict.warn{ background:#FFF4DC; color:#8A5A00; }
table.sortable th{ cursor:pointer; user-select:none; white-space:nowrap; }
table.sortable th[aria-sort="ascending"]::after{ content:" \2191"; }
table.sortable th[aria-sort="descending"]::after{ content:" \2193"; }
table.sortable th:hover{ color:var(--z-ink, var(--ink, #1F2421)); }
.widget .row-count{ font-size:.82rem; color:var(--z-ink-2, var(--ink-2, #5A635C)); margin:.7rem 0 0; }
