.fpbt-wrap { --fpbt-ink:#17221d; --fpbt-muted:#52605a; --fpbt-line:#d9e1dc; --fpbt-surface:#f6f8f7; --fpbt-accent:#167347; margin:2.25rem 0; max-width:100%; color:var(--fpbt-ink); }
.fpbt-heading-row,.fpbt-summary,.fpbt-item,.fpbt-meta { display:flex; align-items:center; }
.fpbt-heading-row { justify-content:space-between; gap:1rem; margin-bottom:.85rem; }
.fpbt-heading-row h2 { margin:0; font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.2; letter-spacing:-.02em; }
.fpbt-count { color:var(--fpbt-muted); font-size:.88rem; white-space:nowrap; }
.fpbt-list { border-top:1px solid var(--fpbt-line); }
.fpbt-item { position:relative; gap:1rem; min-height:92px; padding:.85rem .25rem; border-bottom:1px solid var(--fpbt-line); transition:background-color 160ms ease-out,box-shadow 160ms ease-out; }
.fpbt-item.is-selected { background:#edf7f1; box-shadow:inset 3px 0 0 var(--fpbt-accent); }
.fpbt-choice { display:grid; place-items:center; width:32px; min-width:32px; min-height:44px; cursor:pointer; }
.fpbt-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.fpbt-checkmark { width:22px; height:22px; border:2px solid #7a8881; border-radius:6px; background:#fff; }
input[type="radio"] + .fpbt-checkmark { border-radius:50%; }
.fpbt-choice input:checked + .fpbt-checkmark { border-color:var(--fpbt-accent); background:var(--fpbt-accent); box-shadow:inset 0 0 0 4px #fff; }
.fpbt-choice input:focus-visible + .fpbt-checkmark { outline:3px solid rgba(22,115,71,.3); outline-offset:3px; }
.fpbt-choice input:disabled + .fpbt-checkmark { background:#e4e8e6; border-color:#aeb8b3; cursor:not-allowed; }
.fpbt-thumb { flex:0 0 72px; }
.fpbt-thumb img { display:block; width:72px; height:72px; object-fit:cover; border-radius:10px; }
.fpbt-copy { flex:1 1 260px; min-width:0; }
.fpbt-copy h3 { margin:0 0 .3rem; font-size:1rem; line-height:1.35; }
.fpbt-copy h3 a { color:inherit; text-decoration-thickness:1px; text-underline-offset:3px; }
.fpbt-copy h3 a:hover { color:var(--fpbt-accent); }
.fpbt-description { max-width:65ch; color:var(--fpbt-muted); font-size:.9rem; }
.fpbt-meta { flex:0 0 auto; justify-content:flex-end; gap:.75rem; }
.fpbt-price { font-weight:700; white-space:nowrap; }
.fpbt-qty-label,.fpbt-variation-label { display:flex; align-items:center; gap:.5rem; color:var(--fpbt-muted); font-size:.82rem; }
.fpbt-qty { width:64px!important; min-height:40px; }
.fpbt-variation-label { align-items:flex-start; flex-direction:column; margin-top:.55rem; }
.fpbt-variation { width:min(100%,420px); min-height:42px; }
.fpbt-summary { justify-content:space-between; gap:1rem; margin-top:.9rem; padding:.9rem 1rem; border-radius:12px; background:var(--fpbt-surface); }
.fpbt-summary-label { color:var(--fpbt-muted); }
.fpbt-selected-total { font-size:1.15rem; }
.fpbt-after { margin-top:.75rem; color:var(--fpbt-muted); }
.fpbt-item.is-unavailable { opacity:.62; }
@media (max-width:640px) {
  .fpbt-responsive .fpbt-heading-row { align-items:flex-start; flex-direction:column; gap:.3rem; }
  .fpbt-responsive .fpbt-item { align-items:flex-start; flex-wrap:wrap; padding:1rem 0; }
  .fpbt-responsive .fpbt-thumb { flex-basis:62px; }
  .fpbt-responsive .fpbt-thumb img { width:62px; height:62px; }
  .fpbt-responsive .fpbt-copy { flex-basis:calc(100% - 126px); }
  .fpbt-responsive .fpbt-meta { width:100%; padding-left:48px; justify-content:space-between; }
}
@media (prefers-reduced-motion:reduce) { .fpbt-item { transition:none; } }
