/* Storefront surfaces, typography and corners; quantity/pricing logic stays native. */
.bz-bundle-offer {
    --bz-bundle-gap: 1rem;
    --bz-bundle-inset: 1rem;
    --bz-bundle-selected: #e7eee2;
    --bz-bundle-radius: var(--wp--custom--radius--card, 4px);
}
.bz-bundle-offer .bz-bundle-title { padding-top: .5rem; }
.bz-bundle-offer .bz-bundle-tiers { gap: var(--bz-bundle-gap); }
.bz-bundle-offer .bz-bundle-tier {
    grid-template-columns: 1.125rem minmax(0, 1fr) auto;
    column-gap: .75rem; row-gap: .25rem;
    min-height: 5.25rem; padding: 1rem var(--bz-bundle-inset);
    border: 1px solid var(--wp--preset--color--line, #e3ded4);
    border-radius: var(--bz-bundle-radius);
    background: var(--wp--preset--color--surface-light, #fbfaf8);
    color: var(--wp--preset--color--graphite, #242421);
    box-shadow: none; line-height: 1.4;
    transition: border-color .15s ease, background-color .15s ease;
}
.bz-bundle-offer .bz-bundle-tier[aria-pressed="true"] {
    border-color: var(--wp--preset--color--brand, #244f3e);
    background: var(--bz-bundle-selected);
}
.bz-bundle-offer .bz-bundle-tier.bz-tier-open[aria-pressed="true"] {
    border-bottom: 0;
    border-radius: var(--bz-bundle-radius) var(--bz-bundle-radius) 0 0;
}
.bz-bundle-offer .bz-tier-radio {
    box-sizing: border-box; width: 1.125rem; height: 1.125rem;
    border: 1px solid var(--wp--preset--color--text, #62625b);
    background: var(--wp--preset--color--surface-light, #fbfaf8); box-shadow: none;
}
.bz-bundle-offer .bz-bundle-tier[aria-pressed="true"] .bz-tier-radio {
    border: 1px solid var(--wp--preset--color--brand, #244f3e);
    background: var(--wp--preset--color--brand, #244f3e);
    box-shadow: inset 0 0 0 4px var(--bz-bundle-selected);
}
.bz-bundle-offer .bz-tier-copy,
.bz-bundle-offer .bz-tier-price { min-width: 0; gap: .25rem; }
.bz-bundle-offer .bz-bundle-tier .bz-tier-copy .bz-tier-label {
    font-size: 1rem; font-weight: var(--wp--custom--typography--weight--emphasis, 500); line-height: 1.4;
}
.bz-bundle-offer .bz-bundle-tier .bz-tier-price strong {
    font-size: 1.125rem; font-weight: var(--wp--custom--typography--weight--emphasis, 500);
    line-height: 1.3; font-variant-numeric: tabular-nums;
}
.bz-bundle-offer .bz-bundle-tier .bz-tier-price del {
    font-size: 14px; color: var(--wp--preset--color--text, #62625b); font-variant-numeric: tabular-nums;
}
.bz-bundle-offer .bz-tier-copy .bz-tier-saving {
    display: flex; flex-wrap: wrap; gap: .125rem .375rem; font-size: .75rem; line-height: 1.5;
}
.bz-bundle-offer .bz-tier-saving-percent {
    padding: .15rem .45rem; border-radius: var(--bz-bundle-radius);
    background: var(--wp--preset--color--brand, #244f3e); color: #fff;
    font-size: .75rem; font-weight: 500; line-height: 1.5;
}
.bz-bundle-offer .bz-tier-saving-amount { font-size: 14px; color: var(--wp--preset--color--text, #62625b); white-space: normal; }
/* Restore the original prominent recommendation above the card edge. */
.bz-bundle-offer .bz-bundle-tier > em {
    position: absolute; right: .875rem; top: -.6875rem;
    padding: .25rem .625rem; border: 0; border-radius: var(--bz-bundle-radius);
    background: var(--wp--preset--color--brand, #244f3e); color: #fff;
    font-size: .625rem; font-style: normal; font-weight: 500; letter-spacing: .04em;
    line-height: 1.4; text-transform: uppercase; white-space: nowrap;
}
.bz-bundle-offer .bz-bundle-units {
    margin: calc(-1 * var(--bz-bundle-gap)) 0 0;
    padding: 0 var(--bz-bundle-inset) var(--bz-bundle-inset);
    border: 1px solid var(--wp--preset--color--brand, #244f3e); border-top: 0;
    border-radius: 0 0 var(--bz-bundle-radius) var(--bz-bundle-radius); background: var(--bz-bundle-selected);
}
.bz-bundle-offer .bz-bundle-units-label {
    margin: .125rem 0 .625rem; font-size: 14px; font-weight: 400;
    line-height: 1.5; color: var(--wp--preset--color--text, #62625b);
}
.bz-bundle-offer .bz-bundle-unit { gap: .625rem; margin: 0; padding: .375rem 0; align-items: center; }
.bz-bundle-offer .bz-bundle-unit + .bz-bundle-unit {
    margin-top: .375rem; padding-top: .375rem; border-top: 0;
}
.bz-bundle-offer .bz-bundle-unit > img {
    flex: 0 0 3rem; width: 3rem; height: 3rem; object-fit: contain;
    border-radius: var(--bz-bundle-radius); background: var(--wp--preset--color--surface-light, #fbfaf8);
}
.bz-bundle-offer .bz-bundle-unit-choices { gap: .375rem; min-width: 0; }
.bz-bundle-offer .bz-bundle-unit-choices > .bz-bundle-variation {
    box-sizing: border-box; flex-direction: column; justify-content: center; align-items: center;
    min-height: 3.5rem; height: auto; margin: 0;
    /* Match only the theme's existing important padding/gap declarations. */
    padding: .375rem .125rem !important; gap: .25rem !important;
    border: 1px solid var(--wp--preset--color--line, #e3ded4); border-radius: var(--bz-bundle-radius);
    background: var(--wp--preset--color--surface-light, #fbfaf8);
    color: var(--wp--preset--color--graphite, #242421); box-shadow: none;
}
.bz-bundle-offer .bz-bundle-unit-choices > .bz-bundle-variation[aria-pressed="true"] {
    border: 1px solid var(--wp--preset--color--brand, #244f3e);
    background: #d5e3ce; box-shadow: none;
}
.bz-bundle-offer .bz-bundle-variation .bz-bundle-swatch { width: 1.125rem !important; height: 1.125rem !important; }
.bz-bundle-offer .bz-bundle-variation .bz-bundle-colour-name {
    font-size: .75rem !important; line-height: 1.25; font-weight: 400;
    white-space: normal; overflow-wrap: anywhere; text-align: center;
}
.bz-bundle-offer .bz-bundle-tier:focus-visible,
.bz-bundle-offer .bz-bundle-variation:focus-visible {
    outline: 2px solid var(--wp--preset--color--gold, #a17a42); outline-offset: 3px;
}
@media (hover: hover) {
    .bz-bundle-offer .bz-bundle-tier:hover,
    .bz-bundle-offer .bz-bundle-variation:hover { border-color: var(--wp--preset--color--brand, #244f3e); }
}
@media (max-width: 480px) {
    .bz-bundle-offer { --bz-bundle-inset: .75rem; }
    .bz-bundle-offer .bz-bundle-tier { column-gap: .625rem; }
    /* Half the open choice bottom inset; reduce its height floor by the same amount. */
    .bz-bundle-offer .bz-bundle-tier.bz-tier-open[aria-pressed="true"] { padding-bottom: .5rem; min-height: 4.75rem; }
    .bz-bundle-offer .bz-bundle-tier .bz-tier-price strong { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .bz-bundle-offer .bz-bundle-tier { transition: none; } }

/* Keep secondary tier prices compact on phones. */
@media (max-width: 767px) {
    .bz-bundle-offer .bz-tier-saving-amount,
    .bz-bundle-offer .bz-bundle-tier .bz-tier-price del { font-size: 12px; }
}
