.bundle-component-editor{display:grid;grid-template-columns:minmax(0,1fr) 6rem auto;gap:1rem;align-items:end}
.bundle-preview,.gm-bundles{padding:1rem;border:1px solid var(--aui-ink,#2a0136);border-radius:12px;background:var(--aui-surface-muted,#fff6e8)}
.gm-bundles {
    container: product-bundles / inline-size;
    margin: 1rem 0;
    min-width: 0;
    border-color: rgba(42, 1, 54, .18);
}
.gm-bundles legend { font-size: 1.1rem; font-weight: 700; float: none; width: auto; padding: 0 .25rem; }
.gm-bundle-option {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .9rem;
    margin: .6rem 0;
    background: white;
    border: 1px solid rgba(42, 1, 54, .2);
    border-radius: 8px;
    cursor: pointer;
}
.gm-bundle-option:has(input:checked) {
    background: #faf5fc;
    border-color: var(--aui-ink, #2a0136);
    box-shadow: inset 0 0 0 1px var(--aui-ink, #2a0136);
}
/* Keep selection as one continuous border; reserve the radio's focus ring for keyboard use. */
.gm-bundle-option input:focus-visible { outline: 2px solid var(--aui-ink, #2a0136); outline-offset: 3px; }
.gm-bundle-option:has(input:disabled) { opacity: .65; cursor: default; }
.gm-bundle-option input { flex: none; margin-top: .3rem; accent-color: var(--aui-ink, #2a0136); }
.gm-bundle-copy {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .7rem 1rem;
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
    line-height: 1.5;
}
.gm-bundle-details { display: grid; align-content: start; gap: .3rem; min-width: 0; }
.gm-bundle-details > strong { display: block; font-size: 1rem; font-weight: 700; color: var(--aui-ink, #2a0136); }
.gm-bundle-details > small,
.gm-bundle-components { font-size: .9rem; font-weight: 400; color: var(--aui-ink-soft, #5a4660); }
.gm-bundle-components { display: grid; gap: .25rem; }
.gm-bundle-component { display: block; }
.gm-bundle-pricing { display: flex; flex-direction: column; align-items: flex-start; gap: .4rem; min-width: 0; }
.gm-bundle-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .5rem; font-variant-numeric: tabular-nums; }
.gm-bundle-price b { font-size: 1.15rem; font-weight: 700; color: var(--aui-ink, #2a0136); }
.gm-bundle-price del { color: #655c68; font-size: .85rem; font-weight: 400; }
.gm-bundle-saving {
    display: inline-block;
    max-width: 100%;
    padding: .2rem .6rem;
    border-radius: 999px;
    background: #eee2f3;
    color: var(--aui-ink, #2a0136);
    font-size: .82rem;
    font-weight: 600;
}
.gm-bundle-promotion,
.gm-bundle-unavailable { grid-column: 1 / -1; font-size: .85rem; font-weight: 400; }
.gm-bundles #bundleSelectionStatus { overflow-wrap: anywhere; font-weight: 400; }
.gm-bundles [hidden]{display:none!important}
/* Stack by default, including in browsers without container query support. */
@container product-bundles (min-width: 520px) {
    .gm-bundle-copy { grid-template-columns: minmax(0, 1fr) minmax(0, auto); }
    .gm-bundle-pricing { align-items: flex-end; max-width: 15rem; }
    .gm-bundle-price { justify-content: flex-end; }
}
.gm-product-options-panel[hidden]{display:none!important}
@media(max-width:575.98px){.bundle-component-editor{grid-template-columns:minmax(0,1fr) 5rem}.bundle-component-editor>.bundle-remove{grid-column:1/-1;justify-self:start}.gm-bundles{padding:.75rem}.gm-bundle-option{padding:.75rem}}

/* Bundle management: keep layout and contrast changes local to this page. */
.product-bundles-page { font-weight: 400; }

.product-bundles-page .aui-page-header,
.product-bundles-page .bundle-product-heading {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}

.product-bundles-page .aui-page-header > div,
.product-bundles-page .bundle-product-summary {
    flex: 1 1 24rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.product-bundles-page .aui-panel-title { line-height: 1.5; }
.product-bundles-page .aui-page-intro { line-height: 1.6; }
.product-bundles-page .aui-filter-copy { margin-top: 1rem; }
.product-bundles-page .bundle-results-count {
    color: var(--aui-ink-soft);
    font-size: .9rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.product-bundles-page .bundle-product-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem .75rem;
    margin-top: .6rem;
    color: var(--aui-ink-soft);
    font-size: .85rem;
}

.product-bundles-page .bundle-status {
    display: inline-flex;
    align-items: center;
    border: 1px solid;
    border-radius: 999px;
    padding: .3rem .65rem;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
}
.product-bundles-page .bundle-status--active { color: #18583c; background: #eaf5ee; border-color: #bddac8; }
.product-bundles-page .bundle-status--muted { color: #5a4660; background: #f3eff5; border-color: #d7cbdc; }
.product-bundles-page .bundle-status--draft { color: #754900; background: #fff3d6; border-color: #e7d09c; }

.product-bundles-page .bundle-table {
    width: 100%;
    table-layout: fixed;
    border-radius: 0;
    line-height: 1.55;
    font-size: 1rem;
}
.product-bundles-page .bundle-table thead th {
    color: #fff;
    border-radius: 0;
    text-align: left;
}
.product-bundles-page .bundle-table th:nth-child(1) { width: 24%; }
.product-bundles-page .bundle-table th:nth-child(2) { width: 31%; }
.product-bundles-page .bundle-table th:nth-child(3) { width: 13%; }
.product-bundles-page .bundle-table th:nth-child(4) { width: 13%; }
.product-bundles-page .bundle-table th:nth-child(5) { width: 19%; }
.product-bundles-page .bundle-table td {
    vertical-align: top;
    text-align: left;
    overflow-wrap: anywhere;
    padding-block: 1.1rem;
}
.product-bundles-page .bundle-table tbody tr:last-child td { border-bottom: 0; }
.product-bundles-page .bundle-name { font-weight: 700; }
.product-bundles-page .bundle-total { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.product-bundles-page .bundle-contents { list-style: none; margin: 0; padding: 0; }
.product-bundles-page .bundle-contents li { display: flex; gap: .5rem; }
.product-bundles-page .bundle-contents li + li { margin-top: .6rem; }
.product-bundles-page .bundle-contents li > span:last-child { min-width: 0; }
.product-bundles-page .bundle-pack-count { flex: none; font-weight: 700; }
.product-bundles-page .bundle-row-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.product-bundles-page .bundle-row-actions .btn { min-height: 36px; display: inline-flex; align-items: center; }
.product-bundles-page .bundle-empty-state {
    border-top: 1px solid var(--aui-border);
    padding: 1.15rem;
    color: var(--aui-ink-soft);
    line-height: 1.6;
}
.product-bundles-page .bundle-empty-state p { margin: 0; }
.product-bundles-page .bundle-empty-state p:first-child { color: var(--aui-ink); font-weight: 600; }
.product-bundles-page .bundle-empty-state p + p { margin-top: .3rem; font-size: .9rem; }
.product-bundles-page .btn:focus-visible { outline: var(--aui-focus-outline); outline-offset: var(--aui-focus-offset); }

@media (max-width: 991.98px) {
    .product-bundles-page .bundle-table,
    .product-bundles-page .bundle-table tbody,
    .product-bundles-page .bundle-table tr { display: block; width: 100%; }
    /* Keep column headings available to assistive technology in the stacked layout. */
    .product-bundles-page .bundle-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }
    .product-bundles-page .bundle-table tbody tr { padding: .85rem 1.15rem; }
    .product-bundles-page .bundle-table tbody tr + tr { border-top: 1px solid var(--aui-border); }
    .product-bundles-page .bundle-table td {
        display: grid;
        grid-template-columns: 6.5rem minmax(0, 1fr);
        gap: .75rem;
        align-items: start;
        padding: .45rem 0;
        border: 0;
    }
    .product-bundles-page .bundle-table td::before {
        content: attr(data-label);
        color: var(--aui-ink-soft);
        font-size: .8rem;
        font-weight: 700;
    }
    .product-bundles-page .bundle-table td > .bundle-status { justify-self: start; }
}

@media (max-width: 575.98px) {
    .product-bundles-page .bundle-product-actions { width: 100%; }
    .product-bundles-page .bundle-product-actions > a,
    .product-bundles-page .bundle-product-actions > form { flex: 1 1 auto; }
    .product-bundles-page .bundle-product-actions > form .btn { width: 100%; }
    .product-bundles-page .bundle-table td { grid-template-columns: 1fr; gap: .25rem; }
    .product-bundles-page .bundle-table td + td { padding-top: .65rem; }
}
