/* Sets (standalone bundles): /bundles and /bundles/<slug> (HANDOVER 0.28). The product page rules (product.css: pdp-*, eta) are reused. */
.bundle-kicker { margin: 0 0 var(--sp-1); color: var(--mm-teal-deep); font: 700 var(--fs-xs)/1.3 var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.bundle-honest { margin: 0 0 var(--sp-3); color: var(--mm-ink-2); font-size: var(--fs-sm); line-height: 1.5; }
.bundle-media { min-width: 0; }
.bundle-media > img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--r-lg); background: var(--mm-surface); }
.bundle-collage { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-2); aspect-ratio: 1; }
.bundle-collage--1 { grid-template-columns: 1fr; }
.bundle-collage li { min-width: 0; overflow: hidden; border-radius: var(--r-md); background: var(--mm-surface); }
.bundle-collage img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bundle-collage--3 li:first-child { grid-row: span 2; }
@media (min-width: 860px) { .bundle-media { position: sticky; top: 148px; align-self: start; } }

.bundle-inside { margin-block: var(--sp-6); }
.bundle-items { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-3); }
@media (min-width: 720px) { .bundle-items { grid-template-columns: 1fr 1fr; } }
.bundle-item { display: flex; gap: var(--sp-3); padding: var(--sp-3); border: 1px solid var(--mm-line); border-radius: var(--r-lg); background: #fff; }
.bundle-item__img { flex: none; width: 96px; height: 96px; border-radius: var(--r-md); overflow: hidden; background: var(--mm-surface); }
.bundle-item__img img { display: block; width: 96px; height: 96px; object-fit: cover; }
.bundle-item__body { min-width: 0; display: grid; align-content: center; gap: 2px; }
.bundle-item__title { display: inline-flex; align-items: center; min-height: 44px; font: 700 var(--fs-md)/1.3 var(--font-heading); color: var(--mm-ink); text-decoration: none; overflow-wrap: anywhere; }
.bundle-item__title:hover { text-decoration: underline; text-underline-offset: 3px; }
.bundle-item__tag { margin: 0; color: var(--mm-ink-2); font-size: var(--fs-sm); }
.bundle-item__meta { margin: 0; color: var(--mm-muted); font-size: var(--fs-xs); }

.bundles-grid { list-style: none; margin: 0 0 var(--sp-6); padding: 0; display: grid; gap: var(--sp-4); grid-template-columns: 1fr; }
@media (min-width: 640px) { .bundles-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 960px) { .bundles-grid { grid-template-columns: repeat(3, 1fr); } }
.bundle-card { display: grid; grid-template-rows: auto 1fr; border: 1px solid var(--mm-line); border-radius: var(--r-lg); background: #fff; overflow: hidden; }
.bundle-card__media { position: relative; display: block; aspect-ratio: 1; background: var(--mm-surface); }
.bundle-card__media > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bundle-card__collage { display: grid; grid-template-columns: 1fr 1fr; width: 100%; height: 100%; gap: 2px; }
.bundle-card__collage--1 { grid-template-columns: 1fr; }
.bundle-card__collage img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.bundle-card__body { display: grid; gap: var(--sp-2); align-content: start; padding: var(--sp-4); }
.bundle-card__title { margin: 0; font: 700 var(--fs-lg)/1.3 var(--font-heading); }
.bundle-card__title a { display: inline-flex; align-items: center; min-height: 44px; color: var(--mm-ink); text-decoration: none; }
.bundle-card__items { margin: 0; color: var(--mm-ink-2); font-size: var(--fs-sm); overflow-wrap: anywhere; }
.bundle-card__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px var(--sp-2); margin: 0; }
.bundle-card__price strong { font: 700 var(--fs-xl)/1.2 var(--font-heading); }
.bundle-card__price s { color: var(--mm-muted); }
.bundle-card__price small { color: var(--mm-muted); font-size: var(--fs-xs); }
.bundle-card__cta { justify-self: start; }
.bundle-card--soldout { opacity: .8; }
