.kenz-bundles{background:var(--kenz-color-page);color:var(--kenz-color-text);font-family:var(--kenz-font-body);min-height:100vh}.kenz-bundles *,.kenz-bundle-detail *{box-sizing:border-box}.kenz-bundles a{color:inherit;text-decoration:none}.kenz-bundles__header,.kenz-bundles__hero,.kenz-bundles__results,.kenz-bundle-detail{margin:auto;max-width:var(--kenz-content-width);padding-inline:var(--kenz-space-6)}.kenz-bundles h1,.kenz-bundles h2,.kenz-bundles h3{font-family:var(--kenz-font-display)}

.kenz-bundles__hero{align-items:center;background:var(--kenz-gradient-soft);border-radius:var(--kenz-card-radius);color:var(--kenz-text-heading);display:flex;margin-top:var(--kenz-space-5);min-height:10rem;padding-block:var(--kenz-space-8)}.kenz-bundles__hero div{max-width:none}.kenz-bundles__hero h1{font-size:var(--kenz-text-2xl);line-height:1.2;margin:0 0 var(--kenz-space-3);white-space:nowrap}.kenz-bundles__hero p{color:var(--kenz-color-text-muted);font-size:var(--kenz-text-md);line-height:1.8;margin:0;max-width:38rem}

.kenz-bundles__results{padding-block:var(--kenz-space-16)}.kenz-bundles__results-head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:var(--kenz-space-8)}.kenz-bundles__results-head h2{font-size:var(--kenz-text-2xl);margin:0}.kenz-bundles__results-head p,.kenz-bundles__empty{color:var(--kenz-color-text-muted);margin:0}.kenz-bundles__grid{display:grid;gap:var(--kenz-space-5);grid-template-columns:repeat(3,minmax(0,1fr))}

.kenz-bundle-card{background:var(--kenz-white);border:var(--kenz-card-border);border-radius:var(--kenz-card-radius);display:flex;flex-direction:column;overflow:hidden}.kenz-bundle-card__media{aspect-ratio:var(--kenz-media-aspect);background:var(--kenz-color-primary-soft);display:flex}.kenz-bundle-card__media img{height:100%;object-fit:cover;width:100%}.kenz-bundle-card__media span{align-items:center;color:var(--kenz-color-primary);display:flex;font-family:var(--kenz-font-display);font-weight:700;justify-content:center;width:100%}.kenz-bundle-card__body{display:flex;flex:1;flex-direction:column;padding:var(--kenz-space-5)}.kenz-bundle-card__count{color:var(--kenz-color-accent-hover);font-size:var(--kenz-text-xs);font-weight:700;margin:0 0 var(--kenz-space-3)}.kenz-bundle-card h3{font-size:var(--kenz-text-xl);line-height:1.45;margin:0 0 var(--kenz-space-6)}.kenz-bundle-card__foot{align-items:center;display:flex;justify-content:space-between;margin-top:auto}.kenz-bundle-price{font-weight:700}.kenz-bundle-link{color:var(--kenz-color-primary);font-size:var(--kenz-text-sm);font-weight:700}.kenz-bundle-card__actions{display:grid;gap:var(--kenz-space-2);grid-template-columns:1fr 1fr;margin-top:var(--kenz-space-4)}.kenz-bundle-button{border:var(--kenz-line-thin) solid transparent;border-radius:var(--kenz-control-radius);display:block;font-weight:700;padding:var(--kenz-space-3) var(--kenz-space-4);text-align:center}.kenz-bundle-button--secondary{background:var(--kenz-button-secondary-bg);border-color:var(--kenz-button-secondary-border);color:var(--kenz-button-secondary-text)}.kenz-bundle-button--secondary:hover{background:var(--kenz-button-secondary-bg-hover)}.kenz-bundle-button--primary{background:var(--kenz-button-commerce-bg);border-color:var(--kenz-gold-600);color:var(--kenz-button-commerce-text)}.kenz-bundle-button--primary:hover{background:var(--kenz-button-commerce-bg-hover);border-color:var(--kenz-gold-600)}.kenz-bundle-button--owned{background:var(--kenz-color-primary);border-color:var(--kenz-color-primary);color:var(--kenz-white)}.kenz-bundle-button--owned:hover{background:var(--kenz-color-primary-hover);border-color:var(--kenz-color-primary-hover)}.kenz-bundle-button--outline{background:var(--kenz-white);color:var(--kenz-color-primary)}

.kenz-bundles .kenz-bundle-button--primary{color:var(--kenz-button-commerce-text)}.kenz-bundles .kenz-bundle-button--owned{color:var(--kenz-white)}.kenz-bundles .kenz-bundle-button--secondary{color:var(--kenz-button-secondary-text)}

.kenz-bundle-detail{padding-bottom:var(--kenz-space-16)}.kenz-bundle-detail__hero{align-items:center;background:var(--kenz-color-primary-soft);border-radius:var(--kenz-card-radius);display:grid;gap:var(--kenz-space-8);grid-template-columns:1.15fr .85fr;margin-top:var(--kenz-space-5);overflow:hidden;padding:clamp(2rem,6vw,5rem)}.kenz-bundle-detail__copy>p{color:var(--kenz-color-accent-hover);font-size:var(--kenz-text-sm);font-weight:700;margin:0 0 var(--kenz-space-3)}.kenz-bundle-detail h1{font-size:var(--kenz-text-display);line-height:1.2;margin:0 0 var(--kenz-space-5)}.kenz-bundle-detail__summary{color:var(--kenz-color-text-muted);line-height:1.9;max-width:45rem}.kenz-bundle-detail__facts{display:flex;gap:var(--kenz-space-3);margin-top:var(--kenz-space-6)}.kenz-bundle-detail__facts span{background:var(--kenz-white);border-radius:var(--kenz-radius-pill);font-size:var(--kenz-text-sm);font-weight:700;padding:.55rem .9rem}.kenz-bundle-detail__image{aspect-ratio:1;background:var(--kenz-white);border-radius:var(--kenz-radius-lg);overflow:hidden}.kenz-bundle-detail__image img{height:100%;object-fit:contain;width:100%}.kenz-bundle-detail__layout{display:grid;gap:var(--kenz-space-8);grid-template-columns:minmax(0,1fr) 19rem;margin-top:var(--kenz-space-10)}.kenz-bundle-detail__content section{background:var(--kenz-white);border:var(--kenz-card-border);border-radius:var(--kenz-card-radius);margin-bottom:var(--kenz-space-5);padding:var(--kenz-space-6)}.kenz-bundle-detail h2{font-size:var(--kenz-text-xl);margin:0 0 var(--kenz-space-5)}.kenz-bundle-detail__content p{line-height:1.9}.kenz-bundle-includes{display:grid;gap:var(--kenz-space-3)}.kenz-bundle-include{align-items:center;border:var(--kenz-line-thin) solid var(--kenz-color-border);border-radius:var(--kenz-radius-md);display:flex;gap:var(--kenz-space-4);padding:var(--kenz-space-3)}.kenz-bundle-include__image{background:var(--kenz-color-surface-soft);border-radius:var(--kenz-radius-sm);display:block;height:4rem;overflow:hidden;width:5rem}.kenz-bundle-include__image img{height:100%;object-fit:contain;width:100%}.kenz-bundle-include strong,.kenz-bundle-include small{display:block}.kenz-bundle-include small{color:var(--kenz-color-text-muted);font-size:var(--kenz-text-xs);margin-top:var(--kenz-space-1)}.kenz-bundle-purchase{background:var(--kenz-color-primary);border-radius:var(--kenz-card-radius);color:var(--kenz-white);display:grid;gap:var(--kenz-space-4);padding:var(--kenz-space-6);position:sticky;top:var(--kenz-space-5)}.kenz-bundle-purchase p{font-family:var(--kenz-font-display);font-size:var(--kenz-text-xl);font-weight:700;line-height:1.4;margin:0}.kenz-bundle-purchase__price{font-size:var(--kenz-text-xl);font-weight:700}.kenz-bundle-purchase--owned{background:var(--kenz-color-primary-soft);color:var(--kenz-color-text)}.kenz-bundle-purchase--owned .kenz-bundle-button{background:var(--kenz-color-primary);border-color:var(--kenz-color-primary)}.kenz-bundles a:focus-visible{outline:var(--kenz-focus-width) solid var(--kenz-color-focus);outline-offset:var(--kenz-space-1)}

@media(max-width:760px){.kenz-bundles__hero{min-height:auto}.kenz-bundles__hero h1{font-size:var(--kenz-text-xl);white-space:normal}.kenz-bundles__grid,.kenz-bundle-card__actions,.kenz-bundle-detail__hero,.kenz-bundle-detail__layout{grid-template-columns:1fr}.kenz-bundle-detail__image{max-width:18rem}.kenz-bundle-detail__aside{order:-1}.kenz-bundle-purchase{position:static}.kenz-bundles__results-head{align-items:start;flex-direction:column;gap:var(--kenz-space-2)}}

.kenz-bundle-detail__image{aspect-ratio:4/3;background:var(--kenz-color-surface);border:var(--kenz-card-border)}.kenz-bundle-detail__image img{object-fit:cover}.kenz-bundle-purchase{background:var(--kenz-color-surface);border:var(--kenz-card-border);border-block-start:var(--kenz-space-1) solid var(--kenz-color-highlight);box-shadow:var(--kenz-shadow-lead);color:var(--kenz-text-heading)}.kenz-bundle-purchase p{color:var(--kenz-text-heading)}.kenz-bundle-purchase__price{color:var(--kenz-text-heading)}.kenz-bundle-purchase .kenz-bundle-button{align-items:center;display:inline-flex;justify-content:center;min-height:var(--kenz-control-height);width:100%}.kenz-bundle-purchase--owned{background:var(--kenz-color-primary-soft);border-block-start-color:var(--kenz-color-primary)}.kenz-bundle-purchase--owned p{color:var(--kenz-text-heading)}
