/* Pedalova bundles v2: compact, scannable kit cards */
.bundle-grid{display:grid;gap:16px;grid-template-columns:1fr;align-items:start}
@media (min-width:620px){.bundle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.bundle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.bundle-grid:has(>.bc:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
.bc{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;min-width:0;box-shadow:var(--sh-sm,0 1px 2px rgba(24,33,31,.06))}
.bc[hidden]{display:none}
.bc:target{outline:3px solid var(--forest);outline-offset:2px}
.bc-media{display:grid;gap:1px;background:var(--line);aspect-ratio:16/11;border-bottom:1px solid var(--line)}
.bc-media.m1{grid-template-columns:1fr}
.bc-media.m2{grid-template-columns:1fr 1fr}
.bc-media.m3{grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr}
.bc-media.m3 .bc-tile:first-child{grid-row:1/3}
.bc-media.m4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.bc-tile{position:relative;display:block;background:#fff;min-width:0;min-height:0;overflow:hidden}
.bc-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:8%;transition:transform .25s ease}
.bc-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;font:600 12px var(--fd);color:var(--muted);background:var(--soft)}
.bc-more{position:absolute;right:8px;bottom:8px;background:var(--char);color:#fff;font:600 12px var(--fd);border-radius:999px;padding:2px 9px}
@media (hover:hover){.bc-tile:hover img{transform:scale(1.06)}}
.bc-body{padding:14px 16px 16px;display:grid;gap:8px}
.bc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.bc-goal{font:600 11.5px var(--fd);letter-spacing:.1em;text-transform:uppercase;color:var(--forest);background:var(--forest-12);border:1px solid var(--ln2,rgba(23,76,58,.18));border-radius:999px;padding:3px 10px}
.bc-count{font-size:12.5px;color:var(--muted);white-space:nowrap}
.bc h3{font-size:20px;line-height:1.25}
.bc .promise{font-size:14.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bc-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.bc-price .now{font-size:24px}
.bc-lab{font-size:12.5px;color:var(--muted)}
.bc-peek summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--ln2,rgba(23,76,58,.18));border-radius:10px;background:var(--forest-12);color:var(--forest);font:600 14.5px var(--fd);cursor:pointer;list-style:none}
.bc-peek summary::-webkit-details-marker{display:none}
.bc-peek summary svg{transition:transform .2s ease;flex:none}
.bc-peek[open] summary svg{transform:rotate(180deg)}
.bc-peek .s-open{display:none}.bc-peek[open] .s-open{display:inline}.bc-peek[open] .s-closed{display:none}
.bc-peek summary:focus-visible{outline:3px solid var(--forest);outline-offset:2px}
.bc-inner{padding-top:10px;display:grid;gap:8px}
.bc .itemised{margin:0}
.bc .bundle-add{margin:0;display:grid;gap:6px}
.bc .bundle-add .btn{width:100%}
.bc-note{font-size:12px;color:var(--muted);margin:0}
.bc-filter{display:grid;gap:8px;padding:4px 0 16px}
.bc-filter-h{font-size:14.5px;color:var(--muted);margin:0}
.bc-filter .chips-scroll{padding-top:2px}
.fbtn .n{opacity:.7;font-weight:400;margin-left:4px}
