/* Solris Frequently Bought Together. */
.fbt{margin-block:3rem;padding:1.5rem;border:1px solid var(--border,#E3E8F0);
  border-radius:var(--r-lg,16px);background:var(--surface-2,#F3F5F9)}
.fbt__title{font-size:1.44rem;margin-block-end:1.25rem}
.fbt__inner{display:grid;gap:1.5rem;align-items:center}
@media (min-width:900px){.fbt__inner{grid-template-columns:1fr 280px}}
.fbt__items{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap;
  list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.fbt__items::-webkit-scrollbar{display:none}
.fbt__plus{flex:0 0 auto;font-size:1.2rem;font-weight:700;color:var(--ink-3,#5F7190)}
/* Images stay on ONE row — the whole point of the block is seeing the bundle
   as a set. The names go underneath, one per line, where they can be read. */
.fbt__item{flex:0 0 auto;width:96px}
@media (min-width:600px){ .fbt__item{width:120px} }
.fbt__item label{display:grid;gap:.375rem;cursor:pointer;justify-items:center}
.fbt__item .fbt__name,.fbt__item .fbt__price{display:none}
.fbt__media{display:block;aspect-ratio:1;border-radius:var(--r-md,10px);overflow:hidden;
  background:var(--surface,#fff)}
.fbt__media img{width:100%;height:100%;object-fit:cover}
.fbt__name{font-size:.83rem;line-height:1.3;color:var(--ink-2,#3F5270)}
.fbt__price{font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums}
.fbt__check{width:20px;height:20px;accent-color:var(--navy-800,#0E2340)}
.fbt__check:disabled{opacity:.6}
.fbt__summary{display:grid;gap:.5rem}
.fbt__total{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;
  font-size:1rem;margin:0}
.fbt__total strong{font-size:1.44rem;font-variant-numeric:tabular-nums}
.fbt__save{font-size:.83rem;color:var(--orange-600,#BF4A10);font-weight:600;margin:0}
.fbt__note{font-size:.83rem;color:var(--ink-2,#3F5270);margin:0;min-height:1.2em}


/* The readable list under the images: one product per row, with its price. */
.fbt__list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem}
.fbt__list li{display:flex;align-items:baseline;gap:.5rem;font-size:.9rem;
  padding-block:.25rem}
.fbt__list .fbt__tick{flex:0 0 auto;width:16px;height:16px;margin-top:2px}
.fbt__list .fbt__nm{flex:1;min-width:0;color:var(--ink-2,#3F5270);line-height:1.35}
.fbt__list .fbt__nm strong{color:var(--ink,#0E2340);font-weight:600}
.fbt__list .fbt__pr{flex:0 0 auto;font-weight:700;font-variant-numeric:tabular-nums}
