/* C13: named regions share a compact price-spanning grid at narrow card widths. */
.bundle-module { container-type: inline-size; overflow: visible; }
.bundle-selector { display: grid; gap: 22px; min-width: 0; border: 0; padding: 0; margin: 26px 0 18px; }
.bundle-selector legend { padding: 0 0 20px; font: 400 1.3125rem/1.2 var(--font-heading); color: var(--rox-gold); }
.bundle-card { position: relative; display: grid; grid-template-columns: 18px minmax(0,1fr) 86px; grid-template-areas: 'radio heading price' 'chain chain price'; gap: 4px 7px; align-items: center; padding: 14px 11px 10px; min-width: 0; border: 1px solid #D6B95C; border-radius: 12px; background: #050505; cursor: pointer; box-shadow: none; transition: border-color 180ms,box-shadow 180ms,background-color 180ms; }
.bundle-card[data-bundle-card="1"] { padding-top: 10px; }
.bundle-card[data-bundle-card="1"] .bundle-node--shipping { width: 86px; }
.bundle-card[data-bundle-card="1"] .bundle-node--shipping img { max-width: 56px; }
.bundle-best { grid-template-areas: 'radio heading price' 'chain chain price' 'benefit benefit benefit'; }
.bundle-radio { grid-area: radio; appearance: none; width: 18px; height: 18px; padding: 0; margin: 0; border: 1px solid #D6B95C; border-radius: 50%; background: #080808; cursor: pointer; }
.bundle-radio:checked { background: #ffe794; box-shadow: inset 0 0 0 4px #080808; }
.bundle-best .bundle-radio:checked { border-color: #ff5963; background: #ff5963; }
.bundle-card:has(.bundle-radio:focus-visible) { outline: 2px solid #fff; outline-offset: 5px; }
.bundle-card:has(.bundle-radio:checked) { border-color: #ffe794; box-shadow: inset 0 0 0 1px #ffe79466,0 0 10px #d6b95c99,0 0 24px #d6b95c52,0 0 38px #d6b95c24; }
.bundle-best:has(.bundle-radio:checked) { border-color: #ff5963; box-shadow: inset 0 0 0 1px #ff777766,0 0 10px #ff293699,0 0 24px #ff293652,0 0 38px #ff293624; }
.bundle-heading { grid-area: heading; display: grid; gap: 3px; min-width: 0; }
.bundle-heading strong { color: #fff; font: 400 1.0625rem/1.15 var(--font-heading); }
.bundle-heading small { font: 600 0.5625rem/1.3 var(--font-body); color: #d5d5d5; }
.bundle-visual-chain { --art-height: 48px; grid-area: chain; display: flex; justify-content: center; align-items: flex-start; gap: 2px; min-width: 0; }
.bundle-node { flex: 0 0 auto; display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: var(--art-height) auto; gap: 3px; width: 44px; text-align: center; }
.bundle-node--shipping { width: 52px; }
.bundle-node--ebooks { width: 44px; }
.bundle-node--pump { width: 35px; }
.bundle-node-art { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; width: 100%; height: var(--art-height); isolation: isolate; }
.bundle-node-art img { display: block; width: 100%; height: 100%; object-fit: contain; background: transparent; }
.bundle-node--shipping img { height: auto; max-height: 100%; }
.bundle-node--pump img { width: auto; max-width: 100%; height: var(--art-height); }
.bundle-node--pump .bundle-node-art::before,.bundle-node--ebooks .bundle-node-art::before { content: ''; position: absolute; inset: 2px -5px; z-index: -1; pointer-events: none; background: radial-gradient(ellipse,#d6b95c4d,transparent 70%); }
.bundle-plus { flex: 0 0 11px; display: flex; justify-content: center; align-items: center; height: var(--art-height); color: #D6B95C; font: 700 1.0625rem/1 var(--font-body); }
.bundle-caption { color: #f0d77f; font: 600 0.6875rem/1.25 var(--font-body); overflow-wrap: anywhere; }
.bundle-pump-benefit { grid-area: benefit; margin-top: 3px; text-align: center; color: #f0d77f; font: 700 0.6875rem/1.35 var(--font-body); }
.bundle-price { grid-area: price; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; white-space: nowrap; }
.bundle-price strong { color: #fff; font: 700 1.3125rem/1.15 var(--font-body); }
.bundle-price del { color: #d2d0c8; font: 500 1.1875rem/1.15 var(--font-body); text-decoration-thickness: 1.5px; }
.bundle-price small,.bundle-saving,.bundle-discount { font: 500 0.6875rem/1.25 var(--font-body); color: #ddd; }
.bundle-saving,.bundle-discount { color: #f0d77f; }
.bundle-discount { font-weight: 700; }
.bundle-tag { position: absolute; top: -12px; left: 24px; padding: 5px 12px; max-width: calc(100% - 48px); border: 1px solid #ffe794; border-radius: 5px; background: linear-gradient(120deg,#ffe59a,#D6B95C); color: #080808; font: 700 0.6875rem/1.2 var(--font-body); }
.bundle-best .bundle-tag { border-color: #ff747b; background: linear-gradient(120deg,#ce202d,#97141e); color: #fff; }
@media(hover:hover) {
 .bundle-card:not(:has(.bundle-radio:checked)):hover { background: #101008; }
 .bundle-card:has(.bundle-radio:checked):hover { box-shadow: inset 0 0 0 1px #fff1af,0 0 12px #d6b95cb3,0 0 26px #d6b95c66,0 0 40px #d6b95c29; }
 .bundle-best:has(.bundle-radio:checked):hover { box-shadow: inset 0 0 0 1px #ffaaaa,0 0 12px #ff2936b3,0 0 26px #ff293666,0 0 40px #ff293629; }
}
.bundle-price-note { color: #c9c9c9; font: 400 0.6875rem/1.5 var(--font-body); margin: -7px 0 0; }
.bundle-module .main-purchase { width: 100%; min-height: 56px; padding: 12px 14px; margin: 0 0 14px; display: flex; justify-content: center; align-items: center; gap: 14px; border: 1px solid #ffedb0; border-radius: 6px; background: linear-gradient(110deg,#f9dd87 0%,#d6b95c 50%,#efcf73 100%); color: #000; font: 400 1.4375rem/1.15 var(--font-heading); box-shadow: inset 0 1px 1px #fff9,0 0 12px #d6b95cb3,0 0 32px #d6b95c6b,0 0 52px #d6b95c2e; transition: box-shadow 180ms,transform 180ms; }
.bundle-module .main-purchase svg { flex: 0 0 23px; color: #000; }
.bundle-module .main-purchase > [data-bundle-cta-label] { font: inherit; }
.bundle-module .main-purchase:is(:hover,:focus-visible) { box-shadow: inset 0 1px 1px #fffc,0 0 16px #d6b95ce0,0 0 38px #d6b95c80,0 0 56px #d6b95c40; transform: translateY(-1px); }
.bundle-module .main-purchase:active { transform: translateY(1px); }
@container (min-width:580px) {
 .bundle-card { grid-template-columns: 18px 123px minmax(0,1fr) 98px; grid-template-areas: 'radio heading chain price'; gap: 5px 7px; padding: 16px 12px 10px; }
 .bundle-best { grid-template-areas: 'radio heading chain price' '. benefit benefit benefit'; }
 .bundle-heading strong { font-size: 1.125rem; }
 .bundle-heading small { font-size: 0.625rem; }
 .bundle-visual-chain { --art-height: 60px; gap: 3px; }
 .bundle-node--product { width: 55px; }
 .bundle-node--ebooks { width: 55px; }
 .bundle-node--pump { width: 36px; }
 .bundle-node--pump img { height: 60px; }
 .bundle-plus { flex-basis: 13px; font-size: 1.25rem; }
 .bundle-price strong { font-size: 1.4375rem; }
 .bundle-price del { font-size: 1.3125rem; }
}
@container (max-width:350px) { .bundle-module .main-purchase { min-height: 54px; font-size: 1.3125rem; gap: 10px; } }
@container (max-width:19.375rem) {
 /* Extra narrow / enlarged text: let artwork use full width, never hide a bonus. */
 .bundle-card { grid-template-columns: 18px minmax(0,1fr) 86px; grid-template-areas: 'radio heading price' 'chain chain chain'; }
 .bundle-best { grid-template-areas: 'radio heading price' 'chain chain chain' 'benefit benefit benefit'; }
 .bundle-node--shipping { width: 3.25rem; }
 .bundle-node--ebooks { width: 2.75rem; }
 .bundle-node--pump { width: 2.1875rem; }
 .bundle-heading strong { font-size: 1rem; }
 .bundle-module .main-purchase { font-size: 1.125rem; }
}
@media(prefers-reduced-motion:reduce) { .bundle-card,.bundle-module .main-purchase { transition: none; } .bundle-module .main-purchase:is(:hover,:focus-visible,:active) { transform: none; } }
