.tsi-fbt .tsi-section-head{margin-bottom:16px}
.tsi-fbt .tsi-section-head p{margin:8px 0 0}
.tsi-fbt-form{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}
.tsi-fbt-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin:0}
.tsi-fbt-item{position:relative;display:flex;flex-direction:column;border:1px solid var(--tsi-border);border-radius:var(--tsi-radius);padding:12px;background:var(--tsi-bg);transition:opacity .15s}
.tsi-fbt-item.is-current{border-color:var(--tsi-primary)}
.tsi-fbt-item.is-off{opacity:.55}
.tsi-fbt-item+.tsi-fbt-item::before{content:"+";position:absolute;inset-inline-start:-14px;inset-block-start:64px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--tsi-accent);color:var(--tsi-text);font-weight:800;line-height:1;z-index:1}
.tsi-fbt-pick{position:absolute;inset-block-start:8px;inset-inline-start:8px;z-index:2;display:grid;place-items:center;width:44px;height:44px;margin:0;cursor:pointer}
.tsi-fbt-pick input[type=checkbox]{width:24px;height:24px;min-height:24px;margin:0;accent-color:var(--tsi-primary);cursor:pointer}
.tsi-fbt-media{display:block;background:var(--tsi-surface);border-radius:8px;padding:8px}
.tsi-fbt-media img,.tsi-fbt-media .tsi-image-missing{display:block;width:100%;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply}
.tsi-fbt-body{display:flex;flex-direction:column;flex:1;padding-top:8px}
.tsi-fbt-body h3{font-size:15px;line-height:1.35;font-weight:600;margin:0 0 8px}
.tsi-fbt-body h3 a{text-decoration:none;color:var(--tsi-link)}
.tsi-fbt-body h3 a:hover{text-decoration:underline}
.tsi-fbt-body .tsi-price{font-size:17px}
.tsi-fbt-label{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tsi-muted)}
.tsi-fbt-options{display:inline-flex;align-items:center;min-height:44px;margin-top:auto;font-size:14px;color:var(--tsi-link)}
.tsi-fbt-summary{position:sticky;top:16px;display:grid;gap:12px;padding:20px;border-radius:var(--tsi-radius);background:var(--tsi-surface)}
.tsi-fbt-summary p{margin:0}
.tsi-fbt-summary strong{display:block;font-size:24px;color:var(--tsi-text)}
.tsi-fbt-summary button{width:100%;background:var(--tsi-brand,var(--tsi-accent));border-color:var(--tsi-brand,var(--tsi-accent));color:var(--tsi-on-brand,var(--tsi-text))}
.tsi-fbt-summary button:hover{background:var(--tsi-primary);border-color:var(--tsi-primary);color:#fff}
@media(max-width:1023px){.tsi-fbt-form{grid-template-columns:1fr}.tsi-fbt-summary{position:static}}
@media(max-width:599px){
  .tsi-fbt-list{display:flex;flex-direction:column;gap:12px}
  .tsi-fbt-item{flex-direction:row;align-items:center;gap:12px;padding:10px 10px 10px 52px}
  .tsi-fbt-item+.tsi-fbt-item::before{inset-inline-start:50%;inset-block-start:-18px;transform:translateX(-50%)}
  .tsi-fbt-pick{inset-block-start:50%;transform:translateY(-50%);inset-inline-start:4px}
  .tsi-fbt-media{width:84px;flex-shrink:0;padding:4px}
  .tsi-fbt-body{padding-top:0}
  .tsi-fbt-body h3{font-size:14px}
  .tsi-fbt-list:not(.tsi-fbt-form .tsi-fbt-list) .tsi-fbt-item{padding-inline-start:10px}
}
@media(prefers-reduced-motion:reduce){.tsi-fbt-item{transition:none}}
.tsi-fbt-badge{align-self:flex-start;margin:0 0 6px;padding:2px 8px;border-radius:30px;background:var(--tsi-accent);color:var(--tsi-text);font-size:12px;font-weight:700}
