:root {
--bb-ink: #111827; --bb-ink-soft: #1f2937;
--bb-text: #374151;
--bb-muted: #6b7280;
--bb-muted-light: #9ca3af;
--bb-surface: #fff; --bb-surface-faint: #f9fafb;
--bb-surface-alt: #f3f4f6;
--bb-summary-bg: #f3f4f6; --bb-border: #e5e7eb;
--bb-border-strong: #d1d5db;
--bb-accent: #7c3aed; --bb-accent-bg: #f5f3ff;
--bb-accent-deep: #4c1d95;
--bb-link: #2271b1; --bb-success: #166534; --bb-success-bg: #f0fdf4;
--bb-success-border: #bbf7d0;
--bb-success-bright: #00a32a; --bb-warn: #b45309; --bb-warn-bg: #fffbeb;
--bb-warn-bg-strong: #fef3c7;
--bb-warn-border: #fde68a;
--bb-warn-accent: #fcd34d;
--bb-warn-deep: #92400e;
--bb-error: #b91c1c;
--bb-invalid: #b42318; --bb-invalid-ring: #f04438; }
.bundle-boss-form {
margin-top: 2em;
font-family: inherit;
color: var(--bb-ink);
} .bundle-boss-form [hidden] {
display: none !important;
} .bb-tiers {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
margin-bottom: 1.75em;
}
.bb-tier-pill {
display: inline-block;
padding: 5px 14px;
background: var(--bb-success-bg);
color: #15803d;
border: 1px solid var(--bb-success-border);
border-radius: 100px;
font-size: 0.8em;
font-weight: 600;
white-space: nowrap;
letter-spacing: 0.01em;
} .bundle-items {
display: flex;
flex-direction: column;
gap: 16px; margin-bottom: 16px;
padding-bottom: 18px;
} .bundle-item {
scroll-margin-bottom: 92px;
} .bundle-boss-form {
container-type: inline-size;
}
.bundle-items.bundle-layout-grid {
display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 16px; align-items: start;
} .bundle-item {
background: var(--bb-surface);
border: 1px solid var(--bb-border);
border-radius: 16px; box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 4px 12px rgba(0,0,0,0.04);
transition: box-shadow 0.2s, border-color 0.2s;
}
.bundle-item > :first-child {
border-radius: 15px 15px 0 0;
}
.bundle-item > :last-child {
border-radius: 0 0 15px 15px;
}
.bundle-item--collapsed > .bb-card-header {
border-radius: 15px;
}
.bundle-item:hover {
border-color: var(--bb-border-strong);
box-shadow: 0 4px 24px rgba(0,0,0,0.1);
}
.bundle-item.bundle-item--done {
border-color: #a7f3d0;
box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 4px 12px rgba(16,185,129,0.08);
} .bb-card-header {
display: flex;
align-items: center;
flex-wrap: wrap;
row-gap: 6px;
gap: 12px;
padding: 14px 18px; position: sticky;
top: 0;
z-index: 5;
background: var(--bb-surface);
border-bottom: 1px solid var(--bb-surface-alt);
cursor: pointer;
user-select: none;
} .single-product div.product.product-type-bundle {
overflow: visible !important;
}
.single-product div.product.product-type-bundle::after {
content: '';
display: block;
clear: both;
}
.single-product .site,
.single-product #page {
overflow: visible !important;
} body.admin-bar .bb-card-header {
top: 32px;
}
@media screen and (max-width: 782px) {
body.admin-bar .bb-card-header {
top: 46px;
}
}
.bb-card-header-left {
display: flex;
align-items: center;
gap: 10px; flex: 1 1 11rem;
min-width: 11rem;
} .bb-card-header-left > div {
min-width: 0;
} .bb-card-chevron {
flex-shrink: 0;
width: 0;
height: 0;
border-left: 4.5px solid transparent;
border-right: 4.5px solid transparent;
border-top: 5.5px solid var(--bb-border-strong);
transition: transform 0.18s, border-color 0.15s;
}
.bb-card-header:hover .bb-card-chevron {
border-top-color: var(--bb-muted-light);
}
.bundle-item:not(.bundle-item--collapsed) .bb-card-chevron {
transform: rotate(180deg);
}
.bb-step {
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: 26px;
height: 26px;
background: var(--bb-ink);
color: var(--bb-surface);
border-radius: 50%;
font-size: 0.75em;
font-weight: 800;
letter-spacing: -0.01em;
transition: background 0.2s;
}
.bundle-item--done .bb-step {
background: #10b981;
}
.bb-item-name {
font-size: 0.95em;
font-weight: 700;
color: var(--bb-ink);
overflow-wrap: break-word;
max-width: 280px;
line-height: 1.3;
} .bb-card-header .bb-item-name {
max-width: none;
text-wrap: balance;
}
.bb-item-meta {
font-size: 0.75em;
color: var(--bb-muted-light);
font-weight: 400;
margin-top: 2px;
} .bb-toggle {
display: inline-flex;
align-items: center;
gap: 7px;
cursor: pointer;
user-select: none;
flex-shrink: 0;
}
.bb-toggle input[type="checkbox"] {
position: absolute;
opacity: 0;
width: 0;
height: 0;
}
.bb-toggle-track {
position: relative;
width: 36px;
height: 20px;
background: var(--bb-border-strong);
border-radius: 10px;
flex-shrink: 0;
transition: background 0.2s;
}
.bb-toggle input:checked ~ .bb-toggle-track {
background: #10b981;
}
.bb-toggle-thumb {
position: absolute;
top: 3px;
left: 3px;
width: 14px;
height: 14px;
background: var(--bb-surface);
border-radius: 50%;
box-shadow: 0 1px 3px rgba(0,0,0,0.2);
transition: transform 0.18s;
}
.bb-toggle input:checked ~ .bb-toggle-track .bb-toggle-thumb {
transform: translateX(16px);
}
.bb-toggle-text {
font-size: 0.75em;
font-weight: 600;
color: var(--bb-muted-light);
text-transform: uppercase;
letter-spacing: 0.07em;
} .bb-card-body.bundle-item-inner {
display: flex;
align-items: stretch;
gap: 0;
padding: 0;
}
.bundle-layout-grid .bb-card-body.bundle-item-inner {
flex-direction: column;
} .bb-product-image.bundle-item-image {
flex-shrink: 0;
width: 116px;
align-self: stretch; border-right: 1px solid var(--bb-surface-alt);
background: var(--bb-surface-faint); overflow: hidden; border-bottom-left-radius: inherit;
}
.bb-product-image.bundle-item-image img {
display: block;
width: 116px;
height: 116px;  object-fit: contain;
object-position: center;
border-radius: 0;
} .bb-choice-thumb-img[data-full] {
cursor: zoom-in;
} .bb-product-image:has( .bb-choice-thumb-img[data-full] ) {
position: relative;
}
.bb-product-image:has( .bb-choice-thumb-img[data-full] )::after {
content: "";
position: absolute;
top: 6px;
right: 6px;
width: 20px;
height: 20px;
border-radius: 50%;
background: rgba( 17, 24, 39, 0.7 ) center / 11px 11px no-repeat
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cline x1='15.5' y1='15.5' x2='21' y2='21'/%3E%3C/svg%3E");
pointer-events: none;
opacity: 0;
transition: opacity 0.12s;
}
.bb-product-image:has( .bb-choice-thumb-img[data-full] ):hover::after,
.bb-product-image:has( .bb-choice-thumb-img[data-full]:focus-visible )::after {
opacity: 0.92;
}
@media ( hover: none ) {
.bb-product-image:has( .bb-choice-thumb-img[data-full] )::after {
opacity: 0.92;
}
}
.bb-choice-thumb-img[data-full]:hover {
filter: brightness( 0.94 );
}
.bb-choice-thumb-img[data-full]:focus-visible {
outline: 2px solid var(--bb-accent);
outline-offset: 2px;
} .bb-lightbox {
position: fixed;
inset: 0;
z-index: 100000;
display: flex;
align-items: center;
justify-content: center;
padding: 24px;
background: rgba( 17, 24, 39, 0.82 );
}
.bb-lightbox[hidden] {
display: none;
}
.bb-lightbox-inner {
position: relative;
max-width: min( 92vw, 900px );
max-height: 90vh;
}
.bb-lightbox-img {
display: block;
max-width: 100%;
max-height: 90vh;
width: auto;
height: auto;
border-radius: 8px;
background: #fff;
box-shadow: 0 12px 48px rgba( 0, 0, 0, 0.5 );
}
.bb-lightbox-close {
position: absolute;
top: -14px;
right: -14px;
width: 36px;
height: 36px;
padding: 0;
border: none;
border-radius: 50%;
background: #fff;
color: #111827;
font-size: 22px;
line-height: 36px;
text-align: center;
cursor: pointer;
box-shadow: 0 2px 8px rgba( 0, 0, 0, 0.3 );
}
.bb-lightbox-close:hover {
background: #f3f4f6;
}
body.bb-lightbox-open {
overflow: hidden;
}
@media ( prefers-reduced-motion: no-preference ) {
.bb-lightbox-img {
animation: bb-lightbox-in 0.15s ease;
}
@keyframes bb-lightbox-in {
from { transform: scale( 0.96 ); opacity: 0; }
to   { transform: scale( 1 ); opacity: 1; }
}
}
.bundle-layout-grid .bb-product-image.bundle-item-image {
width: 100%;
border-right: none;
border-bottom: 1px solid var(--bb-surface-alt); aspect-ratio: 5 / 3;
height: auto;
max-height: 200px; border-bottom-left-radius: 0;
}
.bundle-layout-grid .bb-product-image.bundle-item-image img {
width: 100%;
height: 100%;
aspect-ratio: auto;
max-height: none;
object-fit: cover;
border-radius: 0;
} @container (max-width: 499px) {
.bundle-items.bundle-layout-grid {
grid-template-columns: 1fr;
}
.bundle-layout-grid .bb-card-body.bundle-item-inner {
flex-direction: row;
}
.bundle-layout-grid .bb-product-image.bundle-item-image {
width: 116px;
border-right: 1px solid var(--bb-surface-alt);
border-bottom: none; border-bottom-left-radius: inherit;
}
.bundle-layout-grid .bb-product-image.bundle-item-image img {
width: 116px;
height: 116px;
aspect-ratio: auto;
max-height: none; object-fit: contain;
object-position: center;
}
} @container (max-width: 499px) {
.bb-card-body.bundle-item-inner:has( .bb-quantity-grid ) {
flex-direction: column;
}
.bb-card-body.bundle-item-inner:has( .bb-quantity-grid ) .bb-product-image.bundle-item-image {
width: 100%;
border-right: none;
border-bottom: 1px solid var(--bb-surface-alt); border-bottom-left-radius: 0;
}
.bb-card-body.bundle-item-inner:has( .bb-quantity-grid ) .bb-product-image.bundle-item-image img {
width: 100%;
height: auto;
aspect-ratio: 5 / 3;
max-height: 180px;
}
} .bb-controls.bundle-item-details {
flex: 1;
min-width: 0;
padding: 16px 18px;
} .bb-qty-row.bundle-item-qty-control {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 14px;
}
.bb-qty-label {
font-size: 0.75em;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--bb-muted-light);
}
.bb-stepper {
display: inline-flex;
align-items: stretch;
border: 1px solid var(--bb-border);
border-radius: 8px;
overflow: hidden;
background: var(--bb-surface);
}
.bb-qty-btn {
width: 30px;
background: none;
border: none;
cursor: pointer;
font-size: 1em;
font-weight: 600;
color: var(--bb-muted);
display: flex;
align-items: center;
justify-content: center;
padding: 0;
transition: background 0.1s, color 0.1s;
line-height: 1;
}
.bb-qty-btn:hover {
background: var(--bb-surface-alt);
color: var(--bb-ink);
}
.bundle-item-qty-spinner {
width: 36px !important;
text-align: center !important;
border: none !important;
border-left: 1px solid var(--bb-border) !important;
border-right: 1px solid var(--bb-border) !important;
border-radius: 0 !important;
padding: 5px 2px !important;
font-size: 0.88em !important;
font-weight: 700 !important;
box-shadow: none !important;
-moz-appearance: textfield !important;
outline: none !important;
background: var(--bb-surface) !important;
color: var(--bb-ink) !important;
}
.bundle-item-qty-spinner::-webkit-inner-spin-button,
.bundle-item-qty-spinner::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
} .bundle-boss-form input[type="number"]::-webkit-inner-spin-button,
.bundle-boss-form input[type="number"]::-webkit-outer-spin-button,
.bb-box input[type="number"]::-webkit-inner-spin-button,
.bb-box input[type="number"]::-webkit-outer-spin-button,
.bb-quantity-grid input[type="number"]::-webkit-inner-spin-button,
.bb-quantity-grid input[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
.bundle-boss-form input[type="number"],
.bb-box input[type="number"],
.bb-quantity-grid input[type="number"] {
-moz-appearance: textfield;
appearance: textfield;
} .bb-same-all-row {
display: flex;
align-items: center;
margin-bottom: 14px;
}
.bb-same-all-toggle {
gap: 8px !important;
}
.bb-same-all-text {
font-size: 0.8em;
font-weight: 600;
color: var(--bb-muted);
}
.bb-same-all-toggle input:checked ~ .bb-toggle-track {
background: var(--bb-ink);
}
.bb-same-all-toggle input:checked ~ * ~ .bb-same-all-text {
color: var(--bb-ink);
} .bundle-item-unit.bb-unit-synced {
height: 0 !important;
overflow: hidden !important;
padding-top: 0 !important;
margin-top: 0 !important;
border-top: none !important;
pointer-events: none;
} .bundle-item-units {
display: flex;
flex-direction: column;
gap: 0;
}
.bundle-item-unit {
padding: 0;
background: transparent;
border: none;
border-top: 1px solid var(--bb-surface-alt);
padding-top: 14px;
margin-top: 14px;
}
.bundle-item-unit:first-child {
border-top: none;
padding-top: 0;
margin-top: 0;
}
.bb-unit-label {
font-size: 0.7em;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #c4c9d4;
margin-bottom: 10px;
} .bb-attr-group.bundle-item-attribute {
margin-bottom: 12px;
}
.bb-attr-group.bundle-item-attribute:last-of-type {
margin-bottom: 0;
}
.bb-attr-name {
display: block;
font-size: 0.7em;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--bb-muted-light);
margin-bottom: 7px;
} .bundle-attr-select {
display: none !important;
} .bb-select-wrap {
position: relative;
display: inline-block;
}
.bb-select-wrap::after {
content: '';
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 5px solid var(--bb-muted-light);
pointer-events: none;
}
.bb-select-wrap .bundle-attr-select.bb-dropdown {
display: block !important;
appearance: none;
-webkit-appearance: none;
padding: 7px 30px 7px 11px !important;
background: var(--bb-surface) !important;
border: 1px solid var(--bb-border) !important;
border-radius: 8px !important;
font-size: 0.88em !important;
font-weight: 500 !important;
color: var(--bb-ink) !important;
cursor: pointer;
transition: border-color 0.15s, box-shadow 0.15s;
min-width: 140px;
box-shadow: none !important;
outline: none;
}
.bb-select-wrap .bundle-attr-select.bb-dropdown:focus {
border-color: var(--bb-ink) !important;
box-shadow: 0 0 0 3px rgba(17,24,39,0.08) !important;
} .bb-chips {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.bb-chip {
display: inline-block;
padding: 5px 14px;
background: var(--bb-surface);
border: 1px solid var(--bb-border);
border-radius: 100px;
font-size: 0.82em;
font-weight: 500;
color: var(--bb-text);
cursor: pointer;
transition: border-color 0.12s, background 0.12s, color 0.12s;
white-space: nowrap;
line-height: 1.5;
outline: none;
}
.bb-chip:hover {
border-color: var(--bb-muted-light);
color: var(--bb-ink);
background: var(--bb-surface-faint);
}
.bb-chip.is-selected {
background: var(--bb-ink);
border-color: var(--bb-ink);
color: var(--bb-surface);
font-weight: 600;
}
.bb-chip.is-selected:hover {
background: var(--bb-ink-soft);
border-color: var(--bb-ink-soft);
} .bb-chip:focus-visible {
outline: 2px solid var(--bb-accent, #ff6a53);
outline-offset: 2px;
}
.bb-chip:disabled,
.bb-chip[aria-disabled="true"] {
opacity: 0.45;
cursor: not-allowed;
pointer-events: none;
} .bb-ask-answer[data-bb-apart] {
pointer-events: auto;
} .bb-chip--swatch {
position: relative;
width: 32px;
height: 32px;
padding: 3px;
border-radius: 50%;
display: inline-flex;
align-items: center;
justify-content: center;
background: var(--bb-surface);
flex-shrink: 0;
}
.bb-swatch-dot {
display: block;
width: 100%;
height: 100%;
border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
pointer-events: none;
}
.bb-chip--swatch:hover {
background: var(--bb-surface);
border-color: var(--bb-muted-light);
} .bb-chip--swatch.is-selected,
.bb-chip--swatch.is-selected:hover {
background: var(--bb-surface);
border-color: var(--bb-ink);
box-shadow: 0 0 0 1px var(--bb-ink);
} .bb-chip--swatch.is-selected::after {
content: '';
position: absolute;
right: -3px;
bottom: -3px;
width: 13px;
height: 13px;
background: var(--bb-ink) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="none" stroke="white" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M3.5 8.5l3 3 6-7"/></svg>') center / 9px no-repeat;
border: 2px solid var(--bb-surface);
border-radius: 50%;
} .bb-chip--swatch:hover::before {
content: attr(data-label);
position: absolute;
bottom: calc(100% + 7px);
left: 50%;
transform: translateX(-50%);
background: var(--bb-ink);
color: var(--bb-surface);
font-size: 11px;
font-weight: 500;
line-height: 1;
padding: 5px 9px;
border-radius: 5px;
white-space: nowrap;
pointer-events: none;
z-index: 30;
} .bb-chips .bb-chip {
width: auto !important;
min-width: 0 !important;
height: auto !important;
min-height: 0 !important;
margin: 0 !important;
padding: 5px 14px !important;
border-radius: 100px !important;
box-shadow: none !important;
line-height: 1.5 !important;
font-size: 0.82em !important;
text-transform: none !important;
letter-spacing: normal !important;
} .bb-chips .bb-chip--swatch:where(:not(.bb-standalone-options *)) {
width: 32px !important;
height: 32px !important;
padding: 3px !important;
border-radius: 50% !important;
} .bb-unit-footer {
display: flex;
align-items: center;
gap: 8px;
margin-top: 10px;
min-height: 20px;
}
.bb-unit-actions { margin-top: 10px; } .bb-units-cards .bb-unit-actions { flex: 0 0 100%; margin-top: 6px; }
.bb-var-thumb.bundle-unit-thumb img {
width: 32px;
height: 32px;
object-fit: cover;
border-radius: 6px;
border: 1px solid var(--bb-border);
}
.bb-unit-price.bundle-item-price {
font-size: 0.92em;
font-weight: 700;
color: var(--bb-ink);
margin-left: auto;
} .bundle-item-units.bb-units-table {
display: table; width: auto;
min-width: 100%;
border-collapse: collapse;
margin: 4px 0 0;
}
.bb-units-table thead th {
text-align: left;
font-size: 0.7em;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--bb-muted);
padding: 0 12px 8px;
border-bottom: 2px solid var(--bb-border);
white-space: nowrap;
}
.bb-units-table thead .bb-col-num { width: 1%; text-align: center; }
.bb-units-table thead .bb-col-thumb { width: 44px; }
.bb-units-table thead .bb-col-price { text-align: right; } .bundle-item-units.bb-units-table .bundle-item-unit {
border-top: none;
padding-top: 0;
margin-top: 0;
}
.bb-units-table tbody td {
padding: 12px;
vertical-align: middle;
border-top: 1px solid var(--bb-surface-alt);
}
.bb-units-table tbody tr:first-child td { border-top: none; }
.bb-units-table .bb-col-num {
color: var(--bb-muted);
font-weight: 700;
font-size: 0.85em;
text-align: center;
white-space: nowrap;
}
.bb-units-table .bb-cell-attr .bb-chips { margin: 0; }
.bb-units-table .bb-cell-attr .bb-attr-name { display: none; } .bb-units-table .bb-col-thumb { text-align: center; }
.bb-units-table .bb-col-thumb .bb-var-thumb.bundle-unit-thumb img { margin: 0 auto; }
.bb-units-table .bb-col-price { text-align: right; white-space: nowrap; }
.bb-units-table .bb-col-price .bb-unit-price.bundle-item-price { margin-left: 0; }
.bb-units-table .bb-col-price .bb-stock-badge { margin-top: 4px; } .bundle-item-units.bb-units-table .bundle-item-unit.bb-unit-synced {
display: none !important;
} .bb-units-table-wrap { overflow-x: auto; } .bb-units-table .bb-col-addon { min-width: 7.5rem; }
.bb-units-table .bb-col-fee { font-weight: 600; color: var(--bb-muted); white-space: nowrap; }
.bb-units-table .bb-cell-addon { vertical-align: middle; }
.bb-units-table .bb-cell-addon .bb-addon-input { width: 100%; min-width: 6.5rem; box-sizing: border-box; }
.bb-units-table .bb-cell-addon .bb-addon-upload { display: flex; align-items: center; gap: 6px; min-width: 9rem; }
.bb-units-table .bb-cell-attr .bb-select-wrap { min-width: 7rem; } @media (max-width: 640px) {
.bundle-item-units.bb-units-table,
.bb-units-table tbody,
.bb-units-table tr,
.bb-units-table td {
display: block;
width: auto;
}
.bb-units-table thead { display: none; }
.bb-units-table tbody tr.bundle-item-unit {
border: 1px solid var(--bb-border);
border-radius: 10px;
padding: 12px 14px;
margin-top: 12px;
}
.bb-units-table tbody tr.bundle-item-unit:first-child { margin-top: 0; }
.bb-units-table tbody td {
border-top: none;
padding: 6px 0;
text-align: left;
}
.bb-units-table td[data-label]:not([data-label=""])::before {
content: attr(data-label);
display: block;
font-size: 0.7em;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--bb-muted);
margin-bottom: 4px;
}
.bb-units-table .bb-col-num {
text-align: left;
color: var(--bb-ink);
border-bottom: 1px solid var(--bb-surface-alt);
padding-bottom: 8px !important;
}
.bb-units-table .bb-col-num::before { content: "Item "; }
.bb-units-table .bb-col-thumb,
.bb-units-table .bb-col-price { text-align: left; }
} @container (max-width: 510px) {
.bundle-item-units.bb-units-table,
.bb-units-table tbody,
.bb-units-table tr,
.bb-units-table td {
display: block;
width: auto;
}
.bb-units-table thead { display: none; }
.bb-units-table tbody tr.bundle-item-unit {
border: 1px solid var(--bb-border);
border-radius: 10px;
padding: 12px 14px;
margin-top: 12px;
}
.bb-units-table tbody tr.bundle-item-unit:first-child { margin-top: 0; }
.bb-units-table tbody td {
border-top: none;
padding: 6px 0;
text-align: left;
}
.bb-units-table td[data-label]:not([data-label=""])::before {
content: attr(data-label);
display: block;
font-size: 0.7em;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--bb-muted);
margin-bottom: 4px;
}
.bb-units-table .bb-col-num {
text-align: left;
color: var(--bb-ink);
border-bottom: 1px solid var(--bb-surface-alt);
padding-bottom: 8px !important;
}
.bb-units-table .bb-col-num::before { content: "Item "; }
.bb-units-table .bb-col-thumb,
.bb-units-table .bb-col-price { text-align: left; }
} .bundle-item-units.bb-units-cards {
display: flex;
flex-direction: column;
gap: 14px;
}
.bb-units-cards .bundle-item-unit {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
gap: 12px 18px;
border: 1px solid var(--bb-border);
border-radius: 12px;
padding: 14px 16px;
margin: 0;
}
.bb-units-cards .bb-unit-label {
flex: 0 0 100%;
margin: 0;
}
.bb-units-cards .bundle-item-attribute.bb-attr-group {
flex: 1 1 8rem;
min-width: 7rem;
margin: 0;
} .bb-units-cards .bb-personalise { flex: 0 0 100%; margin: 4px 0 0; }
.bb-units-cards .bb-unit-footer {
flex: 0 0 100%;
margin: 2px 0 0;
} .bundle-item-units.bb-units-cards .bundle-item-unit.bb-unit-synced {
display: none !important;
}
@media (max-width: 560px) {
.bb-units-cards .bundle-item-attribute.bb-attr-group { flex-basis: 100%; }
}
.bb-stock-badge.bundle-unit-stock {
display: inline-block;
padding: 2px 9px;
background: var(--bb-warn-bg);
color: var(--bb-warn);
border: 1px solid var(--bb-warn-border);
border-radius: 100px;
font-size: 0.7em;
font-weight: 700;
white-space: nowrap;
}  .bb-quantity-grid { margin: 6px 0 2px; padding-bottom: 8px; } .bb-grid-bar {
height: 8px;
margin: 2px 0 12px;
border-radius: 5px;
background: var(--bb-summary-bg, #f3f4f6);
overflow: hidden;
}
.bb-grid-bar-fill {
display: block;
height: 100%;
width: 0;
border-radius: 5px;
background: var(--bb-accent, #7c3aed);
transition: width 0.3s ease;
}
.bb-grid-ok .bb-grid-bar-fill { background: var(--bb-success-bright, #00a32a); } .bundle-item:has( .bb-quantity-grid ) .bb-qty-row,
.bundle-item:has( .bb-quantity-grid ) .bb-same-all-row { display: none; }
.bb-grid-head {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 10px;
flex-wrap: wrap;
margin-bottom: 8px;
}
.bb-grid-instruction { font-weight: 700; color: var(--bb-ink); }
.bb-grid-progress {
font-size: 0.85em;
font-weight: 700;
color: var(--bb-ink-soft, #6b6256);
padding: 2px 10px;
border: 1px solid var(--bb-border);
border-radius: 100px;
white-space: nowrap;
}
.bb-quantity-grid.bb-grid-ok .bb-grid-progress {
color: var(--bb-success, #2e7d32);
border-color: var(--bb-success, #2e7d32);
}
.bb-quantity-grid.bb-grid-over .bb-grid-progress {
color: var(--bb-warn, #b45309);
border-color: var(--bb-warn-border, #e7cba0);
} .bb-grid-tiles {
display: grid;
grid-template-columns: repeat( auto-fill, minmax( 92px, 1fr ) );
gap: 8px;
}
.bb-grid-tile {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
gap: 5px;
padding: 9px 6px;
border: 1px solid var(--bb-border);
border-radius: 10px;
background: var(--bb-surface, #fff);
color: var(--bb-ink);
font: inherit;
line-height: 1.2;
text-align: center;
cursor: pointer;
} .bb-grid-tile:not(:has(.bb-grid-tile-swatch, .bb-grid-tile-img)) {
justify-content: center;
}
.bb-grid-tile:hover { border-color: var(--bb-accent); } .bb-grid-tile,
.bb-grid-tile:hover,
.bb-grid-tile:focus,
.bb-grid-tile:focus-visible,
.bb-grid-tile:active {
background: var(--bb-surface, #fff) !important;
color: var(--bb-ink) !important;
}
.bb-grid-tile.is-open {
border-color: var(--bb-accent);
box-shadow: inset 0 0 0 1px var(--bb-accent);
}
.bb-grid-tile-swatch {
width: 24px;
height: 24px;
border-radius: 50%;
border: 1px solid rgba( 0, 0, 0, 0.15 );
}
.bb-grid-tile-img {
width: 42px;
height: 42px;
object-fit: cover;
border-radius: 7px;
border: 1px solid rgba( 0, 0, 0, 0.1 );
} .bb-grid-tile { container-type: inline-size; } .bb-grid-tile-name {
font-size: 0.8em;
font-size: clamp( 11px, 13cqw, 0.8em );
font-weight: 600;
max-width: 100%;
word-break: normal;
overflow-wrap: break-word;
hyphens: auto;
}
.bb-grid-tile-count {
position: absolute;
top: -7px;
right: -7px;
min-width: 20px;
height: 20px;
padding: 0 5px;
border-radius: 100px;
background: var(--bb-accent);
color: #fff;
font-size: 0.72em;
font-weight: 700;
line-height: 20px;
}
.bb-grid-tile:not(.bb-grid-tile-filled) .bb-grid-tile-count { display: none; }
.bb-grid-panels {
margin-top: 6px;
}
.bb-grid-panel {
margin: 2px 0 4px;
padding: 10px 12px;
border: 1px solid var(--bb-border);
border-radius: 10px;
background: var(--bb-summary-bg);
}
.bb-grid-panel[hidden] { display: none; } .bb-grid-tiles {
grid-auto-flow: row dense;
}
.bb-grid-tiles > .bb-grid-panel {
grid-column: 1 / -1;
position: relative;
margin: 4px 0 2px;
}
.bb-grid-tiles > .bb-grid-panel::before {
content: "";
position: absolute;
top: -7px;
left: var(--bb-notch, 50%);
width: 12px;
height: 12px;
margin-left: -6px;
background: inherit;
border-left: 1px solid var(--bb-border);
border-top: 1px solid var(--bb-border);
border-top-left-radius: 3px;
transform: rotate(45deg);
}
.bb-grid-panel-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
margin: -2px 0 8px;
}
.bb-grid-panel-name {
min-width: 0;
font-size: 0.85em;
font-weight: 700;
color: var(--bb-ink);
} .bb-quantity-grid .bb-grid-panel-x {
flex: none;
display: inline-flex !important;
align-items: center;
justify-content: center;
width: 28px !important;
height: 28px !important;
min-width: 0 !important;
min-height: 0 !important;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
border-radius: 999px !important;
background: color-mix(in srgb, var(--bb-ink) 8%, transparent) !important;
color: var(--bb-ink) !important;
box-shadow: none !important;
font-size: 12px !important;
line-height: 1 !important;
cursor: pointer;
}
.bb-quantity-grid .bb-grid-panel-x:hover {
background: color-mix(in srgb, var(--bb-ink) 14%, transparent) !important;
}
.bb-quantity-grid .bb-grid-panel-x:focus-visible,
.bb-sheet .bb-sheet-done:focus-visible {
outline: 2px solid var(--bb-accent);
outline-offset: 2px;
} .bb-sheet {
position: fixed;
top: auto;
left: 0;
right: 0;
bottom: 0;
width: auto;
height: auto;
border: 0;
overflow: hidden;
color: var(--bb-ink);
z-index: 100000;
display: flex;
flex-direction: column;
max-height: 62vh;
max-height: 62dvh;
margin: 0;
padding: 6px 14px calc(14px + env(safe-area-inset-bottom, 0px));
background: var(--bb-surface, #fff);
border-radius: 18px 18px 0 0;
box-shadow: 0 -10px 30px rgba(16, 24, 40, 0.18);
outline: none;
text-align: left;
}
.bb-sheet[hidden] {
display: none !important;
}
.bb-sheet-grip {
flex: none;
width: 40px;
height: 4px;
margin: 4px auto 10px;
border-radius: 999px;
background: var(--bb-border);
}
.bb-sheet-head {
flex: none;
display: flex;
align-items: center;
gap: 12px;
padding: 0 0 12px;
border-bottom: 1px solid var(--bb-border);
}
.bb-sheet-pic {
flex: none;
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
}
.bb-sheet-pic[hidden] {
display: none;
}
.bb-sheet-pic img {
width: 44px;
height: 44px;
object-fit: cover;
border-radius: 10px;
}
.bb-sheet-pic .bb-grid-tile-swatch {
width: 34px;
height: 34px;
}
.bb-sheet-title {
flex: 1 1 auto;
min-width: 0;
display: flex;
flex-direction: column;
gap: 2px;
}
.bb-sheet-name {
font-size: 15px;
font-weight: 700;
line-height: 1.25;
color: var(--bb-ink);
}
.bb-sheet-price {
font-size: 13px;
color: var(--bb-muted);
}
.bb-sheet-price[hidden] {
display: none;
}
.bb-sheet .bb-sheet-done {
flex: none;
display: inline-flex !important;
align-items: center;
justify-content: center;
min-height: 40px !important;
margin: 0 !important;
padding: 0 18px !important;
border: 0 !important;
border-radius: 999px !important;
background: var(--bb-accent) !important;
color: #fff !important;
box-shadow: none !important;
font-size: 14px !important;
font-weight: 700 !important;
line-height: 1 !important;
text-transform: none !important;
letter-spacing: 0 !important;
cursor: pointer;
}
.bb-sheet-body {
min-height: 0;
overflow-y: auto;
overscroll-behavior: contain;
padding-top: 12px;
} .bb-sheet .bb-sheet-body > .bb-grid-panel,
.bb-sheet .bb-sheet-body > .bb-many-gridpanel {
margin: 0;
padding: 0;
border: 0;
border-radius: 0;
background: transparent;
animation: none;
}
.bb-sheet .bb-sheet-body > .bb-grid-panel > .bb-grid-panel-head {
display: none;
}
.bb-quantity-grid.has-sheet,
.bb-chooser.has-sheet {
padding-bottom: var(--bb-sheet-room, 0px);
}
@media (prefers-reduced-motion: no-preference) {
.bb-sheet {
animation: bbSheetUp 0.2s ease both;
}
}
@keyframes bbSheetUp {
from { transform: translateY(28px); opacity: 0.5; }
to { transform: none; opacity: 1; }
} .bb-grid-cells {
display: grid;
grid-template-columns: repeat( auto-fill, minmax( 100px, 1fr ) );
gap: 8px;
}
.bb-grid-cell {
display: flex;
flex-direction: column;
align-items: center;
gap: 3px;
padding: 6px 4px;
border: 1px solid var(--bb-border);
border-radius: 9px;
background: var(--bb-surface, #fff);
}
.bb-grid-cell:focus-within { border-color: var(--bb-accent); }
.bb-grid-cell-label {
font-size: 0.78em;
font-weight: 600;
color: var(--bb-ink-soft, #6b6256);
white-space: nowrap;
} .bb-grid-cells-photo { grid-template-columns: repeat( var( --bb-grid-cols, 4 ), minmax( 0, 1fr ) ); }
@media ( max-width: 480px ) {
.bb-grid-cells-photo { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
}
.bb-grid-cell-photo {
padding: 8px 8px 7px;
gap: 6px;
cursor: pointer;
transition: border-color 0.15s ease;
}
.bb-grid-cell-photo:hover { border-color: var(--bb-accent, #7c3aed); }
.bb-grid-cell-photo .bb-grid-cell-label {
font-size: 0.85em;
color: var(--bb-ink, #1d2025);
}
.bb-grid-cell-img {
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
border-radius: 7px;
}
.bb-grid-cell-photo .bb-grid-cell-label {
white-space: normal;
text-align: center;
line-height: 1.25;
}
.bb-grid-cell-price { font-size: 0.8em; color: var(--bb-text); }
.bb-grid-cell-filled {
border-color: var(--bb-accent);
box-shadow: inset 0 0 0 1px var(--bb-accent);
} .bb-grid-cells:not(.bb-grid-cells-photo) { grid-template-columns: repeat( auto-fit, minmax( 100px, 1fr ) );
gap: 0;
border: 1.5px solid var(--bb-border);
border-radius: 11px;
overflow: hidden;
background: var(--bb-surface, #fff);
} .bb-grid-cells.bb-run-balanced:not(.bb-grid-cells-photo) {
grid-template-columns: repeat( var( --bb-run-cols, 3 ), minmax( 0, 1fr ) );
}
.bb-grid-cells:not(.bb-grid-cells-photo) .bb-grid-cell { min-width: 0; }
.bb-grid-cells:not(.bb-grid-cells-photo) .bb-grid-cell {
border: 0;
border-radius: 0;
margin: 0;
padding: 10px 6px 11px;
gap: 2px;
box-shadow: 1px 0 0 var(--bb-border-soft, #ececed), 0 1px 0 var(--bb-border-soft, #ececed);
transition: background 0.15s ease;
}
.bb-grid-cells:not(.bb-grid-cells-photo) .bb-grid-cell-label { font-size: 0.85em; }
.bb-grid-cells:not(.bb-grid-cells-photo) .bb-grid-cell:focus-within { border: 0; box-shadow: 1px 0 0 var(--bb-border-soft, #ececed), 0 1px 0 var(--bb-border-soft, #ececed), inset 0 0 0 1.5px var(--bb-accent); }
.bb-grid-cells:not(.bb-grid-cells-photo) .bb-grid-cell-filled {
border: 0;
background: var(--bb-summary-bg, #f6f7f7);
background: color-mix( in srgb, var(--bb-accent) 8%, var(--bb-surface, #fff) );
box-shadow: 1px 0 0 var(--bb-border-soft, #ececed), 0 1px 0 var(--bb-border-soft, #ececed), inset 0 -2.5px 0 var(--bb-accent);
}
.bb-grid-cells:not(.bb-grid-cells-photo) .bb-grid-cell-filled .bb-grid-cell-label { color: var(--bb-accent); font-weight: 700; } .bb-grid-cells:not(.bb-grid-cells-photo) .bb-grid-stepper {
display: inline-flex;
align-items: center;
border: 1px solid var(--bb-border);
border-radius: 8px;
overflow: hidden;
background: var(--bb-surface, #fff); width: auto;
gap: 0;
} .bb-grid-cells:not(.bb-grid-cells-photo) .bb-grid-stepper:where(:not(.bb-standalone-grid *)) {
margin-top: 4px;
}
.bb-grid-cells:not(.bb-grid-cells-photo) .bb-grid-step {
width: 28px;
min-width: 28px;
min-height: 30px;
border: 0 !important;
border-radius: 0 !important;
background: var(--bb-summary-bg, #f6f7f7) !important;
color: var(--bb-ink-soft, #6b6256) !important;
font-size: 1em;
}
.bb-grid-cells:not(.bb-grid-cells-photo) .bb-grid-step:hover {
background: var(--bb-summary-bg, #f6f7f7) !important;
color: var(--bb-accent) !important;
}
.bb-grid-cells:not(.bb-grid-cells-photo) .bb-grid-qty {
width: 34px;
max-width: none;
min-height: 30px;
padding: 0 2px;
border: 0;
border-radius: 0;
font-weight: 700;
}
.bb-grid-cells:not(.bb-grid-cells-photo) .bb-grid-cell-filled .bb-grid-stepper { border-color: var(--bb-accent); } .bb-grid-cell-photo .bb-grid-add {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 5px;
width: 100%;
min-height: 40px;
margin-top: auto; border: 1px solid var(--bb-accent, #ff6a53);
border-radius: 999px;
background: var(--bb-surface, #fff);
color: var(--bb-accent, #ff6a53);
font-size: 0.95em;
font-weight: 600;
line-height: 1;
cursor: pointer;
transition: background-color 0.15s ease, color 0.15s ease;
}
.bb-grid-cell-photo:hover .bb-grid-add,
.bb-grid-cell-photo .bb-grid-add:focus-visible {
background: var(--bb-accent, #ff6a53);
color: #fff;
}
.bb-grid-cell-filled .bb-grid-add { display: none; }
.bb-grid-cell-photo:not(.bb-grid-cell-filled) .bb-grid-stepper { display: none; }
.bb-grid-cell-photo .bb-grid-stepper {
gap: 0;
width: 100%; margin-top: auto; border: 1px solid var(--bb-border, #e0e0e0);
border-radius: 999px;
overflow: hidden;
background: var(--bb-surface, #fff);
} .bb-quantity-grid .bb-grid-cell-photo .bb-grid-step {
width: auto;
flex: 0 1 40px;
min-width: 28px;
min-height: 40px;
border: 0;
border-radius: 0;
font-size: 1.1em; color: var(--bb-accent, #ff6a53) !important;
}
.bb-quantity-grid .bb-grid-cell-photo .bb-grid-step:hover {
background-color: var(--bb-summary-bg, #f3f4f6) !important;
color: var(--bb-accent, #ff6a53) !important;
}
.bb-grid-cell-photo .bb-grid-stepper .bb-grid-qty {
width: auto;
max-width: none;
min-width: 1.6em; flex: 1 1 auto;
padding-left: 0;
padding-right: 0;
border: 0;
border-radius: 0;
font-size: 1.05em;
font-weight: 700;
}
.bb-grid-cell-filled .bb-grid-stepper { border-color: var(--bb-accent); }
.bb-grid-qty {
width: 100%;
max-width: 3.6em;
text-align: center;
padding: 5px 4px;
border: 1px solid var(--bb-border);
border-radius: 7px;
background: var(--bb-surface, #fff);
color: var(--bb-ink);
font-size: 0.95em;
-moz-appearance: textfield;
}
.bb-grid-qty:focus {
outline: 2px solid var(--bb-accent);
outline-offset: 0;
border-color: var(--bb-accent);
} .bb-grid-stepper {
display: flex;
align-items: center;
justify-content: center;
gap: 4px;
width: 100%;
}
.bb-quantity-grid .bb-grid-step {
flex: 0 0 auto;
width: 24px;
height: 30px;
padding: 0;
border: 1px solid var(--bb-border, #e0e0e0);
border-radius: 7px;
background-color: #fff !important;
color: var(--bb-ink, #1d2025) !important;
font-size: 1.15em;
line-height: 1;
cursor: pointer;
display: inline-flex;
align-items: center;
justify-content: center;
user-select: none;
box-shadow: none !important;
}
.bb-quantity-grid .bb-grid-step:hover {
border-color: var(--bb-accent) !important;
color: var(--bb-accent) !important;
background-color: #fff !important;
}
.bb-quantity-grid .bb-grid-step:active {
background-color: var(--bb-soft, #f3f4f6) !important;
}
.bb-grid-stepper .bb-grid-qty { width: 2em; max-width: 2em; flex: 0 1 auto; } @keyframes bbGridFadeIn {
from { opacity: 0; transform: translateY(5px); }
to   { opacity: 1; transform: translateY(0); }
}
.bb-grid-panel.is-open { animation: bbGridFadeIn 0.22s ease both; }
.bb-grid-tile { transition: border-color 0.15s ease, box-shadow 0.15s ease; }
@media (prefers-reduced-motion: reduce) {
.bb-grid-panel.is-open { animation: none; }
}
.bb-grid-cell-oos { opacity: 0.55; justify-content: center; }
.bb-grid-oos-note { font-size: 0.72em; color: var(--bb-ink-soft, #6b6256); } .bb-grid-cell-left { font-size: 11px; font-weight: 600; line-height: 1; color: #9a6a00; font-variant-numeric: tabular-nums; }
.bb-matrix-cell .bb-grid-cell-left { display: block; margin-top: 3px; text-align: center; } .bb-grid-tile-xtra { font-size: 11.5px; font-weight: 700; line-height: 1; color: var(--bb-accent); font-variant-numeric: tabular-nums; }
.bb-grid-tile-xtra--full { color: var(--bb-ink-soft, #6b6256); font-weight: 600; }
.bb-grid-cell-xtra { font-size: 11px; font-weight: 700; line-height: 1; color: var(--bb-accent); font-variant-numeric: tabular-nums; }
.bb-grid-cell-xtra.bb-grid-cell-xtra--full { color: var(--bb-ink-soft, #6b6256); font-weight: 600; }
.bb-matrix-sprice { display: block; margin-top: 2px; font-size: 10.5px; font-weight: 600; line-height: 1.2; color: var(--bb-ink-soft, #6b6256); font-variant-numeric: tabular-nums; text-transform: none; letter-spacing: 0; white-space: nowrap; }
.bb-matrix-sprice.bb-grid-cell-diff { color: var(--bb-accent); } .bb-quantity-grid[data-bb-sprice] .bb-grid-cells:not(.bb-grid-cells-photo) .bb-grid-stepper { margin-top: auto; } .bb-simple-price.bundle-item-price {
font-size: 0.92em;
font-weight: 700;
color: var(--bb-ink);
margin: 4px 0 0;
} .bundle-item-excluded .bb-card-body {
opacity: 0.35;
pointer-events: none;
transition: opacity 0.2s;
} .bundle-item-oos .bb-card-body {
opacity: 0.35;
pointer-events: none;
}
.bundle-item-oos .bb-item-name {
opacity: 0.6;
}
.bb-oos-badge {
font-size: 0.78em;
font-weight: 600;
color: var(--bb-danger, #b32d2e);
background: rgba(179, 45, 46, 0.08);
border-radius: 999px;
padding: 3px 11px;
white-space: nowrap;
}  .bb-order-tray {
display: flex;
flex-direction: column;
gap: 13px;
padding: 16px 18px;
background: var(--bb-surface, #fff);
border: 1px solid var(--bb-border);
border-radius: 14px;
margin-top: 10px;
box-shadow: 0 6px 20px rgba(15, 23, 42, 0.06);
}
.bb-order-tray .bb-total-row { justify-content: space-between; width: 100%; } .bb-order-tray .bb-summary-totals .bundle-savings { align-self: flex-start; } .bb-tray-confirm {
display: flex;
align-items: center;
gap: 9px;
font-weight: 700;
font-size: 1.02em;
color: var(--bb-ink);
}
.bb-tray-check {
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 20px;
width: 20px;
height: 20px;
border-radius: 50%;
background: var(--bb-success, #166534);
color: #fff;
} .bb-tray-tier { display: flex; flex-direction: column; gap: 6px; }
.bb-tier-bar {
height: 8px;
border-radius: 5px;
background: var(--bb-summary-bg, #f3f4f6);
overflow: hidden;
}
.bb-tier-bar-fill {
display: block;
height: 100%;
width: 0;
border-radius: 5px;
background: var(--bb-accent, #7c3aed);
transition: width 0.4s ease;
}
.bb-tray-tier.is-unlocked .bb-tier-bar-fill { background: var(--bb-success, #166534); }
.bb-tier-line {
margin: 0;
font-weight: 700;
font-size: 0.9em;
color: var(--bb-accent-deep, #4c1d95);
}
.bb-tray-tier.is-unlocked .bb-tier-line { color: var(--bb-success, #166534); }
.bb-tier-sub { margin: 0; font-size: 0.82em; font-weight: 600; color: var(--bb-muted); } .bb-tray-box { display: flex; flex-direction: column; gap: 8px; }
.bb-box-head {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 10px;
}
.bb-box-lbl { font-weight: 600; color: var(--bb-ink); }
.bb-box-count { font-size: 0.9em; color: var(--bb-muted); font-weight: 600; }
.bb-box-thumbs { display: flex; flex-wrap: wrap; gap: 5px; }
.bb-box-thumbs:empty { display: none; }
.bb-box-thumbs img {
width: 34px;
height: 34px;
border-radius: 7px;
border: 1px solid var(--bb-border);
object-fit: cover;
background: var(--bb-summary-bg);
} .bb-tray-basket { margin: 0; font-weight: 700; color: var(--bb-ink); font-size: 1.05em; }
.bb-tray-saving {
margin: -6px 0 0;
align-self: flex-start;
font-size: 0.78em;
font-weight: 600;
color: var(--bb-success);
background: var(--bb-success-bg, #ecfdf3);
border: 1px solid var(--bb-success-border, #bbe5c8);
padding: 2px 10px;
border-radius: 999px;
}
.bb-tray-saving[hidden] { display: none; } .bb-order-tray[data-state="building"] .bb-tray-saving { display: none; } .bb-box-thumbs .bb-box-thumb-more {
width: 34px;
height: 34px;
border-radius: 7px;
border: 1px solid var(--bb-border);
background: var(--bb-summary-bg, #f3f4f6);
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 12px;
font-weight: 700;
color: var(--bb-muted);
} .bb-tray-cta { display: flex; flex-direction: column; gap: 9px; }
.bb-tray-cta > .button { width: 100%; text-align: center; } .bundle-boss-form .bb-tray-cta .bb-build-new {
background: var(--bb-ink, #111827) !important;
color: #fff !important;
border: 1px solid var(--bb-ink, #111827) !important;
box-shadow: none !important;
}
.bundle-boss-form .bb-tray-cta .bb-build-new:hover {
background: var(--bb-text, #374151) !important;
border-color: var(--bb-text, #374151) !important;
color: #fff !important;
}
.bb-tray-links {
display: flex;
align-items: center;
justify-content: center;
gap: 18px;
margin-top: 2px;
}
.bb-tray-links a {
font-weight: 600;
font-size: 0.86em;
color: var(--bb-link, #2271b1);
text-decoration: none;
}
.bb-tray-links a:hover { text-decoration: underline; } .bb-your-boxes { display: flex; flex-direction: column; gap: 11px; }
.bb-yb-head {
font-size: 0.72em;
font-weight: 700;
letter-spacing: 0.09em;
text-transform: uppercase;
color: var(--bb-muted);
}
.bb-yb-row {
display: grid;
grid-template-columns: 44px 1fr;
gap: 11px;
align-items: start;
transition: opacity 0.15s;
}
.bb-yb-row.bb-yb-busy { opacity: 0.45; pointer-events: none; }
.bb-yb-thumb {
width: 44px;
height: 44px;
border-radius: 9px;
border: 1px solid var(--bb-border);
background-size: cover;
background-position: center;
background-color: var(--bb-summary-bg);
} .bb-yb-row-noimg { grid-template-columns: 1fr; }
.bb-yb-main { min-width: 0; }
.bb-yb-name {
font-weight: 700;
font-size: 0.94em;
line-height: 1.25;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.bb-yb-meta { font-size: 0.8em; color: var(--bb-muted); margin-top: 1px; } .bb-yb-detail { font-size: 0.8em; color: var(--bb-text); margin-top: 1px; }
.bb-yb-actions { display: flex; align-items: center; gap: 10px; margin-top: 8px; flex-wrap: wrap; }
.bb-yb-edit { font-size: 0.82em; font-weight: 600; color: var(--bb-accent-deep, #4c1d95); text-decoration: none; }
.bb-yb-edit:hover { text-decoration: underline; }
.bb-yb-stepper { display: inline-flex; border: 1px solid var(--bb-border); border-radius: 8px; overflow: hidden; }
.bb-yb-stepper button,
.bb-yb-qty {
width: 28px;
height: 26px;
display: flex;
align-items: center;
justify-content: center;
background: var(--bb-surface);
border: 0;
font-size: 14px;
font-weight: 700;
color: var(--bb-ink);
}
.bb-yb-stepper button { cursor: pointer; padding: 0; }
.bb-yb-stepper button:disabled { color: var(--bb-border-strong, #cbd0d6); cursor: default; }
.bb-yb-qty { border-left: 1px solid var(--bb-border); border-right: 1px solid var(--bb-border); font-size: 13px; }
.bb-yb-remove {
width: 26px;
height: 26px;
border: 1px solid var(--bb-border);
border-radius: 8px;
background: var(--bb-surface);
color: var(--bb-muted);
font-size: 15px;
line-height: 1;
cursor: pointer;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0;
}
.bb-yb-remove:hover { color: var(--bb-accent-deep, #d4381f); border-color: currentColor; } .bb-yb-badge {
font-size: 0.68em;
font-weight: 700;
letter-spacing: 0.07em;
text-transform: uppercase;
padding: 2px 9px;
border-radius: 12px;
background: var(--bb-accent-bg, var(--bb-summary-bg, #f3f4f6));
color: var(--bb-accent-deep, #4c1d95);
}
.bb-yb-price { margin-left: auto; font-weight: 800; font-size: 0.96em; color: var(--bb-ink); } .bb-form-cols,
.bb-build-col,
.bb-tray-col { display: contents; } .bb-tray-peek {
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 60;
display: flex;
flex-direction: column;
background: var(--bb-surface, #fff);
border-top: 1px solid var(--bb-border);
box-shadow: 0 -6px 22px rgba(15, 23, 42, 0.14);
transform: translateY(100%);
transition: transform 0.22s ease;
}
.bb-tray-peek.is-shown { transform: none; }
@media (prefers-reduced-motion: reduce) { .bb-tray-peek { transition: none; } }
.bb-peek-tier { height: 4px; background: var(--bb-summary-bg, #f3f4f6); }
.bb-peek-tier > i { display: block; height: 100%; width: 0; background: var(--bb-accent, #7c3aed); transition: width 0.4s ease; }
.bb-tray-peek.is-unlocked .bb-peek-tier > i { background: var(--bb-success, #166534); } .bb-peek-row {
box-sizing: border-box;
display: flex;
align-items: center;
gap: 14px;
max-width: 1100px;
margin: 0 auto;
width: 100%;
padding: 10px 16px;
padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
}
.bb-peek-row * { box-sizing: border-box; }
.bb-peek-info { flex: 1; min-width: 0; font-weight: 700; color: var(--bb-ink); font-size: 0.98em; }
.bb-peek-info .bb-peek-sub { display: block; font-weight: 600; font-size: 0.78em; color: var(--bb-accent-deep, #4c1d95); }
.bb-tray-peek.is-unlocked .bb-peek-info .bb-peek-sub { color: var(--bb-success, #166534); }
.bb-peek-cta { flex: 0 0 auto; white-space: nowrap; } .bb-config-tray {
border: 0;
box-shadow: none;
background: transparent;
padding: 0;
margin-top: 12px;
max-height: none;
overflow: visible;
}
.bb-summary-totals {
display: flex;
flex-direction: column;
gap: 2px;
} .bb-build-recap {
flex-basis: 100%;
margin: 0;
}
.bb-build-recap > summary {
cursor: pointer;
font-size: 0.75em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--bb-ink-soft);
}
.bb-build-recap > summary:hover,
.bb-build-recap[open] > summary {
color: var(--bb-accent-deep);
}
.bb-recap-list {
list-style: none;
margin: 10px 0 4px;
padding: 0;
max-height: 180px;
overflow-y: auto;
}
.bb-recap-list li {
display: flex;
justify-content: space-between;
gap: 16px;
padding: 3px 0;
font-size: 0.82em;
}
.bb-recap-name {
color: var(--bb-text);
}
.bb-recap-price {
color: var(--bb-ink);
white-space: nowrap;
} .bb-build-recap.bb-recap-rich .bb-recap-list {
max-height: 360px;
}
.bb-box-thumbs.bb-box-thumbs--folded {
display: none;
}
.bb-recap-list li.bb-recap-item {
justify-content: flex-start;
align-items: flex-start;
gap: 12px;
padding: 10px 0;
border-top: 1px dashed var(--bb-border, #e5e7eb);
font-size: 0.85em;
line-height: 1.45;
}
.bb-recap-list li.bb-recap-item:first-child {
border-top: 0;
padding-top: 2px;
}
.bb-recap-photo {
flex: none;
width: 44px;
height: 44px;
max-width: none;
margin: 0;
border-radius: 8px;
border: 1px solid var(--bb-border);
object-fit: cover;
background: var(--bb-summary-bg, #f3f4f6);
box-sizing: border-box;
}
.bb-recap-body {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
gap: 1px;
}
.bb-recap-head {
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 12px;
}
.bb-recap-item .bb-recap-name {
font-weight: 600;
color: var(--bb-ink);
}
.bb-recap-qty {
font-weight: 400;
color: var(--bb-muted);
white-space: nowrap;
}
.bb-recap-item .bb-recap-price {
font-weight: 600;
}
.bb-recap-variant,
.bb-recap-answer {
color: var(--bb-text);
}
.bb-recap-q {
font-weight: 600;
}
.bb-recap-own,
.bb-recap-fee {
color: var(--bb-muted);
white-space: nowrap;
}
.bb-recap-each {
font-weight: 600;
color: var(--bb-ink);
}
.bb-total-row {
display: flex;
align-items: baseline;
gap: 10px;
}
.bundle-total-label {
font-size: 0.75em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--bb-muted);
}
.bundle-total-amount {
font-size: 1.8em;
font-weight: 800;
color: var(--bb-ink);
line-height: 1;
letter-spacing: -0.02em;
}
.bundle-original-total {
font-size: 0.85em;
color: #4b5563;
text-decoration: line-through;
font-weight: 400;
}
.bundle-savings {
font-size: 0.78em;
font-weight: 600;
color: var(--bb-success);
background: var(--bb-success-bg);
border: 1px solid var(--bb-success-border);
display: inline-block;
padding: 2px 10px;
border-radius: 100px;
} .bb-worth-line {
margin: 2px 0 12px;
font-size: 0.92em;
line-height: 1.45;
color: var(--bb-muted);
}
.bb-worth-line[hidden] { display: none; }
.bb-worth-line .bb-worth-save { font-weight: 600; color: var(--bb-success); }
.bb-worth-line .bundle-price-amount,
.bb-worth-line .woocommerce-Price-amount { font-weight: inherit; color: inherit; }
.bundle-add-to-cart,
.bb-add-another {
flex-shrink: 0;
padding: 13px 32px !important;
font-size: 0.97em !important;
font-weight: 700 !important;
letter-spacing: 0.02em;
border-radius: 10px !important;
transition: opacity 0.15s, transform 0.12s, box-shadow 0.15s !important;
min-width: 180px;
text-align: center;
background: var(--bb-accent) !important;
color: #fff !important;
border-color: var(--bb-accent) !important;
box-shadow: none !important;
}
.bundle-add-to-cart:not(:disabled):hover,
.bb-add-another:hover {
background: var(--bb-accent-deep) !important;
border-color: var(--bb-accent-deep) !important;
transform: translateY(-1px);
box-shadow: 0 4px 14px rgba(60,40,20,0.22) !important;
} .bundle-boss-form .bundle-add-to-cart:disabled {
background: var(--bb-border-strong) !important;
color: var(--bb-muted) !important;
border-color: var(--bb-border-strong) !important;
opacity: 1 !important;
cursor: not-allowed !important;
transform: none !important;
} .bundle-boss-form .bundle-add-to-cart.bb-add-waiting,
.bundle-boss-form .bundle-add-to-cart.bb-add-waiting:hover {
background: var(--bb-border-strong) !important;
color: var(--bb-muted) !important;
border-color: var(--bb-border-strong) !important;
opacity: 1 !important;
transform: none !important;
box-shadow: none !important;
}
.bb-tray-peek .bb-peek-cta.bb-add-waiting { opacity: 0.55; } .bundle-boss-form .bb-invalid-msg {
display: inline;
margin: 0;
padding: 0;
border: 0;
background: none;
color: var(--bb-invalid);
font-size: 13px;
font-weight: 600;
font-style: normal;
line-height: 1.35;
letter-spacing: normal;
text-transform: none;
vertical-align: baseline;
}
.bundle-boss-form .bb-invalid-msg svg {
display: inline-block;
width: 14px;
height: 14px;
margin: 0 5px 0 0;
vertical-align: -2px;
}
.bundle-boss-form .bb-attr-group.bb-invalid > .bb-attr-name {
display: inline-block;
margin: 0 10px 10px 0;
color: var(--bb-invalid);
}
.bundle-boss-form .bb-attr-group.bb-invalid > .bb-invalid-msg {
display: inline-block;
margin-bottom: 10px;
}
.bundle-boss-form .bb-invalid > .bb-chips,
.bundle-boss-form .bb-invalid > .bb-select-wrap {
width: fit-content;
max-width: 100%;
outline: 1.5px solid var(--bb-invalid-ring);
outline-offset: 5px;
border-radius: 12px;
} .bundle-boss-form .bb-invalid .bb-chip:focus:not(:focus-visible):not(.is-selected) {
border-color: var(--bb-border) !important;
outline: none !important;
} .bundle-boss-form td.bb-invalid > .bb-select-wrap { outline-offset: 3px; }
.bundle-boss-form td.bb-invalid > .bb-invalid-msg {
display: block;
margin-top: 8px;
}
.bundle-boss-form .bb-invalid-msg.bb-why {
display: block;
margin: 6px 0 10px;
}
.bundle-boss-form .bb-why.bb-why-head { margin: 0 18px 12px; } .bundle-boss-form .bb-why-live {
position: absolute !important;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
border: 0;
overflow: hidden;
clip: rect(0 0 0 0);
clip-path: inset(50%);
white-space: nowrap;
} .bundle-boss-form .bb-tray-cta > .button {
box-sizing: border-box !important;
width: 100% !important;
max-width: 100% !important;
margin: 0 !important;
float: none !important;
} .bundle-boss-form .bb-yb-stepper {
display: inline-flex !important;
width: auto !important;
height: auto !important;
margin: 0 !important;
padding: 0 !important;
border: 1px solid var(--bb-border) !important;
border-radius: 8px !important;
overflow: hidden !important;
}
.bundle-boss-form .bb-yb-stepper button,
.bundle-boss-form .bb-yb-qty {
box-sizing: border-box !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
width: 28px !important;
height: 26px !important;
min-width: 0 !important;
min-height: 0 !important;
max-width: none !important;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
border-radius: 0 !important;
box-shadow: none !important;
text-shadow: none !important;
text-transform: none !important;
letter-spacing: normal !important;
font-size: 14px !important;
font-weight: 700 !important;
line-height: 1 !important;
background: var(--bb-surface) !important;
color: var(--bb-ink) !important;
}
.bundle-boss-form .bb-yb-qty {
border-left: 1px solid var(--bb-border) !important;
border-right: 1px solid var(--bb-border) !important;
font-size: 13px !important;
} .bundle-boss-form .bb-yb-stepper button:disabled {
color: var(--bb-border-strong, #cbd0d6) !important;
}
.bundle-boss-form .bb-yb-remove {
box-sizing: border-box !important;
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
width: 26px !important;
height: 26px !important;
min-width: 0 !important;
min-height: 0 !important;
margin: 0 !important;
padding: 0 !important;
border: 1px solid var(--bb-border) !important;
border-radius: 8px !important;
box-shadow: none !important;
font-size: 15px !important;
line-height: 1 !important;
background: var(--bb-surface) !important;
color: var(--bb-muted) !important;
}
.bundle-boss-form .bb-yb-remove:hover {
color: var(--bb-accent-deep, #d4381f) !important;
border-color: currentColor !important;
}
.bundle-boss-form .bb-chooser-search-input {
box-sizing: border-box !important;
width: 100% !important;
height: auto !important;
min-height: 0 !important;
margin: 0 !important;
padding: 8px 12px !important;
border: 1.5px solid var(--bb-border) !important;
border-radius: 8px !important;
box-shadow: none !important;
font-size: 0.85em !important;
line-height: normal !important;
}
.bundle-boss-form .bb-chooser-pager button,
.bundle-boss-form .bb-chooser-cats .bb-chooser-cat {
box-sizing: border-box !important;
width: auto !important;
height: auto !important;
min-width: 44px !important;
min-height: 44px !important;
margin: 0 !important;
padding: 0 14px !important;
border: 1px solid var(--bb-border) !important;
border-radius: 10px !important;
box-shadow: none !important;
text-transform: none !important;
letter-spacing: normal !important;
font-size: 15px !important;
font-weight: 500 !important;
line-height: 1.2 !important;
background: var(--bb-surface) !important;
color: var(--bb-text) !important;
}
.bundle-boss-form .bb-chooser-cats .bb-chooser-cat {
min-height: 40px !important;
border-radius: 999px !important;
}
.bundle-boss-form .bb-chooser-pager button:hover:not(:disabled),
.bundle-boss-form .bb-chooser-cats .bb-chooser-cat:hover {
color: var(--bb-ink) !important;
border-color: var(--bb-muted) !important;
}
.bundle-boss-form .bb-chooser-pager .bb-chooser-num.is-on,
.bundle-boss-form .bb-chooser-cats .bb-chooser-cat.is-on {
background: var(--bb-accent) !important;
border-color: var(--bb-accent) !important;
color: #fff !important;
} .bundle-boss-form .bb-addon-input,
.bundle-boss-form .bb-quantity-grid input[type="number"] {
margin: 0 !important;
min-height: 0 !important;
box-shadow: none !important;
} .bundle-boss-form .bb-matrix .bb-grid-qty {
border: 0 !important;
border-radius: 0 !important;
}
.bundle-boss-form .bb-select-wrap .bundle-attr-select.bb-dropdown {
height: auto !important;
min-height: 0 !important;
margin: 0 !important;
line-height: normal !important;
} .bundle-stock-notice,
.bundle-boss-notices,
.bundle-boss-success-notice {
margin-top: 12px;
padding: 12px 16px;
border-radius: 10px;
font-size: 0.88em;
font-weight: 500;
line-height: 1.5;
}
.bundle-stock-notice {
background: var(--bb-warn-bg);
border: 1px solid var(--bb-warn-border);
color: var(--bb-warn-deep);
} .bundle-boss-init-error {
margin-top: 12px;
padding: 12px 16px;
border-radius: 10px;
font-size: 0.88em;
line-height: 1.5;
background: #fef2f2;
border: 1px solid #fecaca;
color: #991b1b;
}
.bundle-boss-notices {
background: #fef2f2;
border: 1px solid #fecaca;
color: var(--bb-error);
}
.bundle-boss-success-notice {
background: var(--bb-success-bg);
border: 1px solid var(--bb-success-border);
color: #15803d;
}
.bundle-boss-success-notice a {
font-weight: 700;
text-decoration: underline;
color: inherit;
} .bb-sale-ending {
margin-bottom: 1.5em;
padding: 14px 18px;
background: var(--bb-surface);
border: 1px solid var(--bb-border);
border-radius: 12px;
box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.bb-sale-label {
font-size: 0.72em;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--bb-muted);
margin-bottom: 8px;
}
.bb-sale-bar {
height: 5px;
background: var(--bb-surface-alt);
border-radius: 100px;
overflow: hidden;
margin-bottom: 12px;
}
.bb-sale-bar-fill {
height: 100%;
background: linear-gradient(90deg, #ef4444 0%, #f97316 100%);
border-radius: 100px;
transition: width 1s linear;
}
.bb-countdown {
display: flex;
align-items: center;
gap: 6px;
}
.bb-cd-seg {
display: flex;
flex-direction: column;
align-items: center;
min-width: 44px;
}
.bb-cd-val {
font-size: 1.6em;
font-weight: 800;
color: var(--bb-ink);
letter-spacing: -0.02em;
line-height: 1;
font-variant-numeric: tabular-nums;
}
.bb-cd-unit {
font-size: 0.62em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--bb-muted-light);
margin-top: 3px;
}
.bb-cd-sep {
font-size: 1.4em;
font-weight: 800;
color: var(--bb-border-strong);
line-height: 1;
margin-bottom: 12px;
align-self: flex-start;
margin-top: 4px;
} .bb-related {
margin-top: 2em;
border-top: 1px solid var(--bb-surface-alt);
padding-top: 1.5em;
}
.bb-related-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 14px;
}
.bb-related-title {
font-size: 1em !important;
font-weight: 700 !important;
color: var(--bb-ink) !important;
margin: 0 !important;
padding: 0 !important;
border: none !important;
}
.bb-related-nav {
display: flex;
gap: 6px;
}
.bb-related-prev,
.bb-related-next {
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid var(--bb-border);
background: var(--bb-surface);
cursor: pointer;
font-size: 1em;
color: var(--bb-text);
display: flex;
align-items: center;
justify-content: center;
transition: background 0.12s, border-color 0.12s, color 0.12s;
line-height: 1;
}
.bb-related-prev:hover,
.bb-related-next:hover {
background: var(--bb-ink);
border-color: var(--bb-ink);
color: var(--bb-surface);
}
.bb-related-prev:disabled,
.bb-related-next:disabled {
opacity: 0.3;
cursor: not-allowed;
}
.bb-related-viewport {
overflow: hidden;
}
.bb-related-track {
display: flex;
gap: 14px;
transition: transform 0.3s ease;
}
.bb-related-card {
flex: 0 0 200px;
background: var(--bb-surface);
border: 1px solid var(--bb-border);
border-radius: 12px;
overflow: hidden;
text-decoration: none !important;
color: inherit !important;
display: flex;
flex-direction: column;
transition: box-shadow 0.18s, border-color 0.18s;
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.bb-related-card:hover {
border-color: var(--bb-border-strong);
box-shadow: 0 4px 16px rgba(0,0,0,0.09);
}
.bb-related-img img {
display: block;
width: 100%;
height: 130px;
object-fit: cover;
border-bottom: 1px solid var(--bb-surface-alt);
}
.bb-related-info {
padding: 10px 12px 6px;
flex: 1;
}
.bb-related-name {
font-size: 0.82em;
font-weight: 700;
color: var(--bb-ink);
line-height: 1.3;
margin-bottom: 4px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.bb-related-price {
font-size: 0.78em;
font-weight: 600;
color: var(--bb-text);
}
.bb-related-cta {
display: block;
padding: 8px 12px;
font-size: 0.75em;
font-weight: 700;
color: var(--bb-ink);
text-align: right;
border-top: 1px solid var(--bb-surface-alt);
letter-spacing: 0.02em;
transition: color 0.12s;
}
.bb-related-card:hover .bb-related-cta {
color: var(--bb-text);
} .bundle-boss-type-badge {
display: inline-block;
padding: 3px 9px; background: var(--bb-ink) !important;
color: var(--bb-surface) !important;
font-size: 0.7em;
font-weight: 700;
border-radius: 4px;
margin-bottom: 6px;
letter-spacing: 0.06em;
text-transform: uppercase;
vertical-align: middle;
}
.bundle-boss-from-price {
font-weight: 700;
} .bundle-boss-cart-group-header {
display: block;
margin-bottom: 0.4em;
padding-bottom: 0.4em;
border-bottom: 1px solid var(--bb-border);
font-size: 0.88em;
color: var(--bb-muted);
}
a.bundle-boss-edit-bundle   { color: var(--bb-link); font-size: 0.8em; font-weight: 600; white-space: nowrap; }
a.bundle-boss-remove-bundle { color: #b32d2e; font-size: 0.8em; font-weight: 600; white-space: nowrap; } .bundle-item--collapsed .bb-card-header {
border-bottom: none;
}
.bundle-item--collapsed .bb-card-body {
display: none;
}
.bb-card-summary {
display: none;
padding: 0 18px 14px calc(18px + 26px + 10px);
font-size: 0.82em;
color: var(--bb-muted);
font-weight: 500;
flex-wrap: wrap;
gap: 5px;
align-items: center;
line-height: 1.4;
}
.bundle-item--collapsed .bb-card-summary {
display: flex;
}
.bundle-item--done.bundle-item--collapsed .bb-card-summary {
color: #059669;
font-weight: 600;
} .bundle-boss-product-badge {
display: inline-block;
background: var(--bb-ink);
color: var(--bb-surface);
font-size: 0.68em;
font-weight: 800;
letter-spacing: 0.12em;
text-transform: uppercase;
padding: 4px 13px;
border-radius: 100px;
margin-bottom: 10px;
line-height: 1.5;
}
.product-type-bundle h1.product_title {
font-size: 2.3em !important;
font-weight: 800 !important;
letter-spacing: -0.025em !important;
line-height: 1.15 !important;
color: var(--bb-ink) !important;
margin-bottom: 6px !important;
}
.product-type-bundle .summary .price,
.product-type-bundle .entry-summary .price {
font-size: 1.45em !important;
font-weight: 700 !important;
color: var(--bb-ink) !important;
display: block;
margin-bottom: 0.5em !important;
} .bb-card-header:focus-visible,
.bb-chip:focus-visible,
.bb-qty-btn:focus-visible,
.bundle-add-to-cart:focus-visible,
.bb-toggle input:focus-visible + .bb-toggle-track,
.bb-upsell-add:focus-visible {
outline: 2px solid var(--bb-link);
outline-offset: 2px;
} .bb-chip--swatch:focus-visible {
box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.35);
} .bundle-item {
scroll-margin-top: 12px;
}
body.admin-bar .bundle-item {
scroll-margin-top: 44px;
}  .bb-chooser-grid {
display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 45%), 1fr));
gap: 10px;
}
.bb-chooser-grid .bb-candidate {
width: 100%;
max-width: 340px;
justify-self: center;
}
.bb-chooser-loading,
.bb-chooser-empty {
color: var(--bb-muted-light);
font-size: 0.85em;
padding: 12px 0;
}
.bb-candidate {
position: relative; display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
padding: 12px 10px;
background: var(--bb-surface);
border: 1.5px solid var(--bb-border);
border-radius: 12px;
cursor: pointer;
text-align: center;
transition: border-color 0.12s, box-shadow 0.12s, transform 0.12s;
}
.bb-candidate:hover:not(:disabled) {
background: var(--bb-surface);
border-color: var(--bb-ink);
box-shadow: 0 4px 14px rgba(0,0,0,0.08);
transform: translateY(-1px);
} .bb-candidate:focus,
.bb-candidate:active {
background: var(--bb-surface);
color: var(--bb-ink);
border-color: var(--bb-ink);
}
.bb-candidate:focus-visible {
outline: 2px solid var(--bb-link);
outline-offset: 2px;
}
.bb-candidate.is-oos {
opacity: 0.5;
cursor: not-allowed;
} .bb-candidate-img {
width: 72px;
height: 72px;
aspect-ratio: 1 / 1;
object-fit: contain;
object-position: center;
background: var(--bb-surface-faint);
border-radius: 8px;
} .bb-chooser img.bb-candidate-img {
background: #fff;
filter: brightness( 0.96 );
}
.bb-chooser.bb-photos-fill img.bb-candidate-img {
object-fit: cover;
filter: none;
}
.bb-candidate-name {
font-size: 0.82em;
font-weight: 600;
color: var(--bb-ink);
line-height: 1.3;
}
.bb-candidate-price {
font-size: 0.8em;
color: var(--bb-text);
}
.bb-candidate-oos {
font-size: 0.7em;
font-weight: 700;
color: var(--bb-error);
text-transform: uppercase;
letter-spacing: 0.05em;
} .bb-candidate-sale,
.bb-candidate-featured {
position: absolute;
top: 8px;
padding: 2px 8px;
border-radius: 9px;
font-size: 0.62em;
font-weight: 700;
line-height: 1.7;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.bb-candidate-sale {
left: 8px;
background: var(--bb-error);
color: #fff;
}
.bb-candidate-featured {
right: 8px;
background: var(--bb-accent-bg);
color: var(--bb-accent-deep);
border: 1px solid var(--bb-accent);
}
.bb-candidate-price del {
color: var(--bb-muted-light);
margin-right: 4px;
}
.bb-candidate-price ins {
text-decoration: none;
font-weight: 600;
} .bb-cards-comfortable .bb-chooser-grid {
grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
gap: 14px;
}
.bb-cards-large .bb-chooser-grid {
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
gap: 16px;
} .bb-cards-comfortable .bb-candidate,
.bb-cards-large .bb-candidate {
overflow: hidden;
}
.bb-cards-comfortable .bb-candidate {
max-width: 210px;
}
.bb-cards-large .bb-candidate {
max-width: 290px;
}
.bb-cards-comfortable .bb-candidate > .bb-box-card-zoom,
.bb-cards-large .bb-candidate > .bb-box-card-zoom,
.bb-cards-comfortable .bb-candidate > .bb-candidate-img,
.bb-cards-large .bb-candidate > .bb-candidate-img {
align-self: stretch;
width: auto;
margin: -12px -10px 0;
}
.bb-cards-comfortable .bb-candidate .bb-candidate-img,
.bb-cards-large .bb-candidate .bb-candidate-img {
width: 100%;
max-width: 100%;
height: auto;
aspect-ratio: 1 / 1;
border-radius: 11px 11px 0 0;
} .bb-cards-comfortable .bb-candidate > .bb-candidate-img,
.bb-cards-large .bb-candidate > .bb-candidate-img {
width: calc( 100% + 20px );
max-width: none;
} .bb-cards-comfortable .bb-candidate-name,
.bb-cards-large .bb-candidate-name,
.bb-cards-comfortable .bb-candidate-price,
.bb-cards-large .bb-candidate-price {
align-self: stretch;
text-align: center;
} .bb-chooser-search {
margin-bottom: 10px;
}
.bb-chooser-search-input {
width: 100%;
padding: 8px 12px;
border: 1.5px solid var(--bb-border);
border-radius: 8px;
font-size: 0.85em;
} .bb-chooser-pager {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
margin-top: 16px;
}
.bb-chooser-pager[hidden] {
display: none;
}
.bb-chooser-pages {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
gap: 6px;
}
.bb-chooser-nums {
display: contents;
}
.bb-chooser-where {
order: 2;
margin: 0;
font-size: 14px;
color: var(--bb-muted);
font-variant-numeric: tabular-nums;
}
.bb-chooser-pager button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
min-width: 44px;
min-height: 44px;
padding: 0 14px;
border: 1px solid var(--bb-border);
border-radius: 10px;
background: var(--bb-surface); color: var(--bb-text);
font: inherit;
font-size: 15px;
font-variant-numeric: tabular-nums;
line-height: 1.2;
cursor: pointer;
}
.bb-chooser-pager button span[aria-hidden] {
font-size: 20px;
line-height: 1;
}
.bb-chooser-pager button:hover:not(:disabled) {
color: var(--bb-ink);
border-color: var(--bb-muted);
}
.bb-chooser-pager button:focus-visible,
.bb-chooser-cats .bb-chooser-cat:focus-visible {
outline: 2px solid var(--bb-accent);
outline-offset: 2px;
}
.bb-chooser-pager .bb-chooser-num.is-on {
background: var(--bb-accent);
border-color: var(--bb-accent);
color: #fff;
}
.bb-chooser-pager button:disabled {
opacity: 0.4;
cursor: not-allowed;
}
.bb-chooser-gap {
min-width: 18px;
text-align: center;
color: var(--bb-muted);
} .bb-chooser--narrow .bb-chooser-where {
order: 0;
}
.bb-chooser--narrow .bb-chooser-pages {
width: 100%;
flex-wrap: nowrap;
gap: 8px;
}
.bb-chooser--narrow .bb-chooser-pages .bb-chooser-prev,
.bb-chooser--narrow .bb-chooser-pages .bb-chooser-next {
flex: 1 1 0;
} .bb-chooser-cats {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 0 0 12px;
}
.bb-chooser-cats[hidden] {
display: none;
}
.bb-chooser--narrow .bb-chooser-cats {
flex-wrap: nowrap;
overflow-x: auto;
scrollbar-width: none;
-webkit-mask-image: linear-gradient( 90deg, #000 88%, transparent );
mask-image: linear-gradient( 90deg, #000 88%, transparent );
}
.bb-chooser--narrow .bb-chooser-cats::-webkit-scrollbar {
display: none;
}
.bb-chooser-cats .bb-chooser-cat {
display: inline-flex;
align-items: center;
gap: 6px;
flex: none;
min-height: 40px;
padding: 0 14px;
border: 1px solid var(--bb-border);
border-radius: 999px;
background: var(--bb-surface);
color: var(--bb-text);
font: inherit;
font-size: 15px;
line-height: 1.2;
white-space: nowrap;
cursor: pointer;
}
.bb-chooser-cats .bb-chooser-cat.is-on {
background: var(--bb-accent);
border-color: var(--bb-accent);
color: #fff;
}
.bb-chooser-cat-n {
color: var(--bb-muted);
font-variant-numeric: tabular-nums;
}
.bb-chooser-cat.is-on .bb-chooser-cat-n {
color: inherit;
opacity: 0.8;
} .bb-chooser.is-loading .bb-chooser-grid {
opacity: 0.5;
transition: opacity 0.15s;
} .bb-chooser {
scroll-margin-top: 96px;
} .bundle-item.bb-item-price-hidden .bundle-item-price {
display: none !important;
} .bb-chooser-retry {
margin-left: 8px;
padding: 3px 12px;
border: 1px solid var(--bb-border);
border-radius: 6px;
background: var(--bb-surface);
color: var(--bb-text);
font-size: 0.85em;
line-height: 1.4;
cursor: pointer;
}
.bb-chooser-retry:hover {
border-color: var(--bb-muted);
} .bb-chosen-bar {
display: flex;
align-items: center;
flex-wrap: wrap; gap: 8px 12px;
padding: 10px 14px;
background: var(--bb-success-bg);
border: 1px solid var(--bb-success-border);
border-radius: 10px;
margin-bottom: 12px; width: fit-content;
max-width: 100%;
}
.bb-chosen-bar[hidden] {
display: none;
} .bb-chosen-thumb {
display: none;
} .bb-chosen-bar--photo > .bb-chosen-thumb {
display: block;
width: 104px;
height: 104px;
object-fit: contain;
background: var(--bb-surface);
border-radius: 8px;
box-shadow: none; }
.bb-chosen-thumb[data-full] {
cursor: zoom-in;
}
.bb-chosen-bar--photo:has( > .bb-chosen-thumb:not( .bb-thumb-empty ) ) {
display: grid;
grid-template-columns: auto auto 1fr;
grid-template-rows: 1fr auto auto 1fr;
gap: 0;
}
.bb-chosen-bar--photo:has( > .bb-chosen-thumb:not( .bb-thumb-empty ) ) > .bb-chosen-thumb {
grid-column: 1;
grid-row: 1 / -1;
align-self: center;
margin-inline-end: 14px; min-width: 104px;
}
.bb-chosen-bar--photo:has( > .bb-chosen-thumb:not( .bb-thumb-empty ) ) > .bb-chosen-name {
grid-column: 2 / -1;
grid-row: 2;
margin-bottom: 6px;
}
.bb-chosen-bar--photo:has( > .bb-chosen-thumb:not( .bb-thumb-empty ) ) > .bb-chosen-price {
grid-column: 2;
grid-row: 3;
margin-inline-end: 12px;
} .bb-chosen-bar--photo > .bb-chosen-price:empty {
display: none;
}
.bb-chosen-bar--photo:has( > .bb-chosen-thumb:not( .bb-thumb-empty ) ) > .bb-chooser-change {
grid-column: 3;
grid-row: 3; justify-self: start;
margin-left: 0;
}
.bb-chosen-bar--photo:has( > .bb-chosen-thumb:not( .bb-thumb-empty ) ) > .bb-compat-warn {
grid-column: 1 / -1;
grid-row: 5;
}
.bb-chosen-name {
font-weight: 700;
font-size: 0.88em;
color: #14532d;
flex: 0 1 auto;
min-width: 0;
line-height: 1.35; word-break: normal;
overflow-wrap: normal;
hyphens: none;
}
.bb-chosen-price {
font-size: 0.85em;
color: var(--bb-success);
white-space: nowrap;
} .bb-chosen-config .bundle-simple-item {
display: none;
} .bundle-boss-form .bb-chosen-bar .bb-chooser-change {
flex-shrink: 0;
margin-left: auto;
display: inline-flex;
align-items: center;
gap: 6px;
background: var(--bb-success, #166534) !important;
color: #fff !important;
border: 1.5px solid var(--bb-success, #166534) !important;
border-radius: 100px !important;
padding: 5px 16px !important;
font-size: 0.78em !important;
font-weight: 600 !important;
line-height: 1.4 !important;
text-transform: none !important;
letter-spacing: 0 !important;
box-shadow: none !important;
cursor: pointer;
transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.12s;
}
.bundle-boss-form .bb-chosen-bar .bb-chooser-change:hover {
background: #0f4a29 !important;
color: #fff !important;
border-color: #0f4a29 !important;
transform: translateY(-1px);
}
.bundle-boss-form .bb-chosen-bar .bb-chooser-change:active {
transform: translateY(0);
} .bb-candidate.has-warning {
border-color: var(--bb-warn-accent);
}
.bb-candidate-warn {
font-size: 0.7em;
font-weight: 700;
color: var(--bb-warn);
}
.bb-compat-warn {
font-size: 0.75em;
font-weight: 700;
color: var(--bb-warn);
background: var(--bb-warn-bg-strong);
border: 1px solid var(--bb-warn-accent);
border-radius: 100px;
padding: 2px 10px;
white-space: nowrap;
}
.bb-compat-warn[hidden] {
display: none;
}
.bb-chooser-notice {
margin-bottom: 10px;
padding: 9px 12px;
background: var(--bb-warn-bg-strong);
border: 1px solid var(--bb-warn-accent);
border-radius: 8px;
font-size: 0.82em;
color: var(--bb-warn-deep);
}
.bb-chooser-notice[hidden] {
display: none;
} .bb-many-pill {
display: block;
width: 100%;
margin: 8px 0 0;
padding: 8px 0;
border: 1px solid var(--bb-border);
border-radius: 8px;
background: var(--bb-surface-faint);
font-size: 0.78em;
font-weight: 700;
color: var(--bb-text);
transition: background 0.12s, border-color 0.12s, color 0.12s;
} .bb-many.bb-cards-comfortable .bb-candidate,
.bb-many.bb-cards-large .bb-candidate {
padding-bottom: 0;
}
.bb-many.bb-cards-comfortable .bb-many-pill,
.bb-many.bb-cards-large .bb-many-pill {
width: calc(100% + 20px);
margin: 8px -10px 0;
padding: 10px 0;
border: 0;
border-top: 1px solid var(--bb-border);
border-radius: 0;
} .bb-candidate:not(.bb-candidate-added):hover:not(:disabled) .bb-many-pill {
border-color: var(--bb-ink);
color: var(--bb-ink);
}
.bb-many.bb-cards-comfortable .bb-candidate:not(.bb-candidate-added):hover:not(:disabled) .bb-many-pill,
.bb-many.bb-cards-large .bb-candidate:not(.bb-candidate-added):hover:not(:disabled) .bb-many-pill {
border-top-color: var(--bb-ink);
}
.bb-candidate-added,
.bb-candidate-added:hover:not(:disabled),
.bb-candidate-added:focus,
.bb-candidate-added:active {
border-color: var(--bb-success-bright);
background: var(--bb-success-bg);
}
.bb-candidate-added .bb-many-pill {
border-color: var(--bb-success-bright);
background: var(--bb-success-bright);
color: #fff;
}
.bb-many.bb-cards-comfortable .bb-candidate-added .bb-many-pill,
.bb-many.bb-cards-large .bb-candidate-added .bb-many-pill {
border-top-color: var(--bb-success-bright);
}
.bb-candidate-added .bb-many-pill::before {
content: "✓ ";
} .bb-many-bar-part {
display: inline-block;
text-wrap: balance;
}
.bb-many-count {
margin-top: 8px;
font-size: 0.85em;
font-weight: 600;
color: var(--bb-success);
}
.bb-many-count[hidden] {
display: none;
} .bb-many.bb-many-full .bb-grid-step-up {
opacity: 0.4;
cursor: not-allowed;
} .bb-many-gridnote {
display: none;
}
.bb-sheet .bb-many-gridnote:not([hidden]) {
display: block;
margin: 10px 0 0;
padding: 9px 12px;
background: var(--bb-warn-bg-strong);
border: 1px solid var(--bb-warn-accent);
border-radius: 8px;
font-size: 0.82em;
color: var(--bb-warn-deep);
} .bb-chooser-notice.is-calm,
.bb-sheet .bb-many-gridnote.is-calm:not([hidden]) {
display: flex;
align-items: center;
gap: 8px;
padding: 0;
background: none;
border: 0;
border-radius: 0;
font-size: 0.85em;
color: var(--bb-muted);
}
.bb-chooser-notice.is-calm[hidden] {
display: none;
}
.bb-chooser-notice.is-calm::before,
.bb-sheet .bb-many-gridnote.is-calm::before {
content: "i";
flex: none;
width: 18px;
height: 18px;
border-radius: 50%;
background: var(--bb-surface-alt);
color: var(--bb-ink-soft);
font: 700 11px/18px Georgia, serif;
text-align: center;
} .bb-many-meter {
flex: none;
display: inline-flex;
align-items: center;
padding: 4px 11px;
border: 1px solid var(--bb-border);
border-radius: 999px;
background: var(--bb-surface-alt);
color: var(--bb-ink-soft);
font-size: 0.8em;
font-weight: 700;
font-variant-numeric: tabular-nums;
line-height: 1.3;
white-space: nowrap;
}
.bb-many-meter[hidden] {
display: none;
}
.bb-many-meter.is-full {
background: var(--bb-success-bg);
border-color: var(--bb-success-border);
color: var(--bb-success);
}
.bb-sheet-extra {
flex: none;
display: inline-flex;
}
.bb-sheet-extra[hidden] {
display: none;
} .bb-chooser-grid .bb-candidate.bb-candidate-oc {
cursor: default;
}
.bb-candidate.bb-candidate-oc:hover:not(:disabled) {
transform: none;
box-shadow: none;
} .bb-many .bb-chooser-grid {
grid-auto-flow: row dense;
}
.bb-chooser-grid .bb-candidate.bb-candidate-grid.is-open {
border-color: var(--bb-ink);
box-shadow: 0 0 0 1px var(--bb-ink);
}
.bb-cand-dots {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 4px;
margin: 2px 0 0;
}
.bb-cand-dot {
width: 11px;
height: 11px;
border-radius: 50%;
border: 1px solid rgba(0, 0, 0, 0.18);
}
.bb-cand-dots-more {
font-size: 0.72em;
font-weight: 600;
line-height: 11px;
color: var(--bb-muted);
}
.bb-chooser-grid > .bb-many-gridpanel {
position: relative;
min-width: 0;
margin: 4px 0 6px;
padding: 12px;
border: 1.5px solid var(--bb-border);
border-radius: 12px;
background: var(--bb-surface);
text-align: left;
}
.bb-chooser-grid > .bb-many-gridpanel[hidden],
.bb-many-gridpanel[hidden] {
display: none;
}
.bb-chooser-grid > .bb-many-gridpanel::before {
content: "";
position: absolute;
top: -8px;
left: var(--bb-notch, 50%);
width: 14px;
height: 14px;
margin-left: -7px;
background: inherit;
border-left: 1.5px solid var(--bb-border);
border-top: 1.5px solid var(--bb-border);
border-top-left-radius: 3px;
transform: rotate(45deg);
}
.bb-many-gridpanel > .bb-quantity-grid {
width: 100%;
max-width: 100%;
min-width: 0;
margin: 0;
}
.bundle-boss-form .bb-candidate-oc .bb-many-bar {
-webkit-appearance: none !important;
appearance: none !important;
display: block !important;
box-sizing: border-box !important;
width: 100% !important;
min-height: 0 !important;
height: auto !important;
margin: 8px 0 0 !important;
padding: 8px 0 !important;
border: 1px solid var(--bb-border) !important;
border-radius: 8px !important;
background: var(--bb-surface-faint) !important;
box-shadow: none !important;
color: var(--bb-text) !important;
font-family: inherit !important;
font-size: 0.78em !important;
font-weight: 700 !important;
line-height: 1.3 !important;
letter-spacing: normal !important;
text-transform: none !important;
text-align: center !important;
cursor: pointer !important;
}
.bundle-boss-form .bb-many.bb-cards-comfortable .bb-candidate-oc .bb-many-bar,
.bundle-boss-form .bb-many.bb-cards-large .bb-candidate-oc .bb-many-bar {
width: calc(100% + 20px) !important;
margin: 8px -10px 0 !important;
padding: 10px 0 !important;
border: 0 !important;
border-top: 1px solid var(--bb-border) !important;
border-radius: 0 !important;
}
.bundle-boss-form .bb-candidate-oc .bb-many-bar:hover {
border-color: var(--bb-ink) !important;
color: var(--bb-ink) !important;
}
.bundle-boss-form .bb-candidate-oc .bb-many-bar.is-waiting {
color: var(--bb-muted) !important;
font-weight: 600 !important;
}
.bundle-boss-form .bb-candidate-added.bb-candidate-oc .bb-many-bar {
border-color: var(--bb-success-bright) !important;
background: var(--bb-success-bright) !important;
color: #fff !important;
}
.bundle-boss-form .bb-candidate-oc .bb-many-bar:focus-visible {
outline: 2px solid var(--bb-link) !important;
outline-offset: 2px !important;
} .bb-qty-cap-note {
margin: -4px 0 10px;
font-size: 0.78em;
color: var(--bb-warn-deep);
}
.bb-qty-cap-note::before {
content: "\26A0\FE0E\00A0"; } .bb-stepper-nav[hidden],
.bb-stepper-controls[hidden] {
display: none;
}
.bb-stepper-active .bundle-item.bb-step-hidden {
display: none;
}
.bb-step-pills {
display: flex;
flex-wrap: wrap;
gap: 8px;
list-style: none;
margin: 0 0 18px;
padding: 0;
}
.bb-step-pill {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 7px 14px 7px 8px;
border: 1px solid #d4d6dd;
border-radius: 100px;
background: var(--bb-surface);
color: #3c4257;
font-size: 0.85em;
cursor: pointer;
transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.bb-step-pill .bb-step-num {
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
border-radius: 50%;
background: #eef0f4;
font-weight: 700;
font-size: 0.85em;
}
.bb-step-pill:hover {
border-color: var(--bb-accent);
}
.bb-step-pill.is-active {
border-color: var(--bb-accent);
background: var(--bb-accent-bg);
color: var(--bb-accent-deep);
}
.bb-step-pill.is-active .bb-step-num {
background: var(--bb-accent);
color: var(--bb-surface);
}
.bb-step-pill.is-done .bb-step-num {
background: var(--bb-success-bright);
color: var(--bb-surface);
font-size: 0;
}
.bb-step-pill.is-done .bb-step-num::after {
content: "\2713";
font-size: 13px;
}
.bb-step-pill.has-notice {
border-color: var(--bb-warn-accent);
background: var(--bb-warn-bg);
}
.bb-step-pill.has-notice::after {
content: "\26A0\FE0E";
color: var(--bb-warn);
font-size: 0.95em;
}
.bb-stepper-controls {
display: flex;
justify-content: space-between;
margin: 16px 0;
}
.bb-stepper-controls .button:disabled {
opacity: 0.4;
cursor: default;
} .bb-step-prev,
.bb-step-next {
display: inline-flex !important;
align-items: center;
gap: 7px;
padding: 11px 24px !important;
font-size: 0.9em !important;
font-weight: 600 !important;
letter-spacing: 0.01em !important;
line-height: 1.3 !important;
border-radius: 10px !important;
text-transform: none !important;
box-shadow: none !important;
cursor: pointer;
transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.12s !important;
} .bb-step-prev {
background: var(--bb-surface) !important;
color: var(--bb-ink-soft) !important;
border: 1.5px solid var(--bb-border-strong) !important;
}
.bb-step-prev:not(:disabled):hover {
border-color: var(--bb-ink-soft) !important;
color: var(--bb-ink) !important;
transform: translateY(-1px);
} .bb-step-next {
background: var(--bb-accent) !important;
color: #fff !important;
border: 1.5px solid var(--bb-accent) !important;
font-weight: 700 !important;
}
.bb-step-next:not(:disabled):hover {
background: var(--bb-accent-deep) !important;
border-color: var(--bb-accent-deep) !important;
transform: translateY(-1px);
} .bb-step-name {
white-space: nowrap;
}
@media (max-width: 600px) { .bb-step-pills {
flex-wrap: wrap;
row-gap: 8px;
}
.bb-step-pill {
flex-shrink: 0;
}
} .bb-share-row {
margin-top: 10px;
text-align: center;
}
.bb-share-row[hidden] {
display: none;
}
.bb-share-build {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 7px 16px;
border: 1px solid #c3c4c7;
border-radius: 100px;
background: transparent;
color: #50575e;
font-size: 0.85em;
cursor: pointer;
transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.bb-share-build::before {
content: "\1F517"; font-size: 0.95em;
}
.bb-share-build:hover {
border-color: #50575e;
color: #1d2327;
}
.bb-share-build.is-copied {
border-color: var(--bb-success-bright);
color: var(--bb-success-bright);
background: #edfaef;
} .bb-product-image:has(.bb-thumb-empty) {
display: none;
} img.bb-thumb-empty { display: none !important; } .bb-personalise { margin: 10px 0 2px 14px;
background: var(--bb-surface-faint);
border: 1px solid var(--bb-border);
border-left: 3px solid var(--bb-accent);
border-radius: 10px;
overflow: hidden;
}
.bb-personalise-item { background: var(--bb-accent-bg); }
.bb-personalise-toggle {
cursor: pointer;
list-style: none;
display: flex;
align-items: center;
justify-content: space-between;
gap: 9px;
padding: 11px 14px;
font-size: 13px;
font-weight: 600;
color: var(--bb-accent-deep);
}
.bb-personalise-toggle::-webkit-details-marker { display: none; }
.bb-personalise-toggle::marker { content: ''; }
.bb-personalise-toggle:hover { color: var(--bb-accent); } .bb-personalise-caret {
flex: none;
width: 8px;
height: 8px;
border-right: 2px solid currentColor;
border-bottom: 2px solid currentColor;
transform: rotate(45deg);
transition: transform 0.2s ease;
margin-bottom: 3px;
}
.bb-personalise[open] .bb-personalise-caret { transform: rotate(-135deg); }
.bb-personalise-fields {
display: grid;
gap: 10px;
padding: 2px 12px 12px;
} .bb-recap-addon-row .bb-recap-name {
padding-left: 22px;
font-size: 12px;
font-style: italic;
color: var(--bb-muted);
position: relative;
}
.bb-recap-addon-row .bb-recap-name::before {
content: '\21B3'; position: absolute;
left: 8px;
font-style: normal;
color: var(--bb-muted-light);
}
.bb-recap-addon-row .bb-recap-price {
font-size: 12px;
color: var(--bb-success);
} .bb-recap-offer-row {
margin-top: 3px;
padding-top: 6px !important;
border-top: 1px dashed var(--bb-border, #e5e7eb);
}
.bb-recap-offer-row .bb-recap-name {
font-weight: 600;
display: inline-flex;
align-items: center;
gap: 6px;
}
.bb-recap-offer-row .bb-recap-price {
font-weight: 600;
white-space: nowrap;
} .bb-recap-offer-saving .bb-recap-name,
.bb-recap-offer-saving .bb-recap-price {
color: var(--bb-success);
}
.bb-recap-offer-saving .bb-recap-name::before {
content: '\2713'; font-size: 0.9em;
}
.bb-addon-field { display: grid; gap: 4px; align-items: start; }
.bb-addon-label {
font-size: 13px;
font-weight: 600;
color: var(--bb-text);
}
.bb-addon-req { color: var(--bb-error); }
.bb-addon-input {
width: 100%;
padding: 7px 10px;
border: 1px solid var(--bb-border-strong);
border-radius: 8px;
font-size: 14px;
background: var(--bb-surface);
color: var(--bb-ink);
box-sizing: border-box;
}
.bb-addon-input:focus {
outline: none;
border-color: var(--bb-accent);
box-shadow: 0 0 0 2px var(--bb-accent-bg);
}
textarea.bb-addon-input { min-height: 56px; resize: vertical; } .bb-size-pair { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bb-size-leg { position: relative; display: inline-flex; align-items: center; flex: 1 1 0; min-width: 96px; }
.bb-size-leg .bb-addon-input { padding-right: 34px; }
.bb-size-unit {
position: absolute;
right: 10px;
font-size: 12px;
color: var(--bb-muted);
pointer-events: none;
}
.bb-size-x { color: var(--bb-muted); font-size: 13px; flex: 0 0 auto; }
.bb-addon-check {
display: flex;
align-items: center;
gap: 8px;
font-size: 14px;
color: var(--bb-text);
cursor: pointer;
}
.bb-addon-note {
font-size: 13px;
font-weight: 600;
color: var(--bb-ink-soft);
border-bottom: 1px solid var(--bb-border);
padding-bottom: 4px;
}
.bb-addon-fee {
display: inline-block;
font-size: 12px;
font-weight: 600;
color: var(--bb-success);
background: var(--bb-success-bg);
border: 1px solid var(--bb-success-border);
border-radius: 6px;
padding: 1px 7px;
white-space: nowrap;
}
.bb-addon-upload { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.bb-addon-file-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 7px 13px;
border: 1px dashed var(--bb-border-strong);
border-radius: 8px;
background: var(--bb-surface);
color: var(--bb-text);
font-size: 13px;
font-weight: 600;
cursor: pointer;
}
.bb-addon-file-btn:hover { border-color: var(--bb-accent); color: var(--bb-accent); }
.bb-addon-file-input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.bb-addon-file-status { font-size: 13px; color: var(--bb-muted); display: inline-flex; align-items: center; gap: 6px; }
.bb-addon-file-name { color: var(--bb-text); font-weight: 600; }
.bb-addon-file-remove { border: 0; background: none; cursor: pointer; color: var(--bb-error); font-size: 16px; line-height: 1; padding: 0 2px; }
.bb-addon-upload.is-uploading .bb-addon-file-status { color: var(--bb-accent); }  .bb-builder-full-row {
clear: both;
margin: 34px 0 0; width: 100%;
max-width: 100%;
min-width: 0;
flex: 0 0 100%; grid-column: 1 / -1; }
.bb-builder-full-row .bundle-boss-form {
max-width: none;
} .bb-builder-full-row .bb-box:has( .bb-box-grid-matrix ) {
max-width: none;
}
body.bb-hide-main-image div.product .woocommerce-product-gallery,
body.bb-hide-main-image div.product .wp-block-woocommerce-product-gallery {
display: none !important;
} body.bb-hide-main-image .wp-block-column:has( > .wp-block-woocommerce-product-image-gallery:only-child ),
body.bb-hide-main-image .wp-block-column:has( > .wp-block-woocommerce-product-gallery:only-child ) {
display: none !important;
}
body.bb-hide-main-image div.product .summary,
body.bb-hide-main-image div.product .entry-summary {
width: 100% !important;
max-width: none !important;
float: none !important;
margin-left: 0 !important;
} .bb-bogo-badge {
display: inline-block;
margin: 0 0 14px;
padding: 6px 15px;
border-radius: 999px;
background: var(--bb-success-bg, #e7f6ec);
color: var(--bb-success, #1a7f37);
font-size: 13.5px;
font-weight: 700;
}  .bb-candidate-name {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
min-height: calc( 1.3em * 2 );
}
.bb-candidate-price { margin-top: auto; } .bb-candidate-name {
flex: 1 1 auto;
overflow-wrap: anywhere;
} .bb-chooser--narrow .bb-candidate-name {
display: block;
-webkit-line-clamp: unset;
overflow: visible;
} .bb-candidate { max-width: 210px; } .bb-box-card { display: flex; flex-direction: column; min-width: 0; }
.bb-box-card-name {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
min-height: calc( 1.35em * 2 );
} .bb-box-card-name.bb-split-name {
display: block;
overflow: hidden; align-self: stretch; min-height: calc( 0.78em * 1.3 + 1.35em * 2 );
}
.bb-split-name .bb-split-prod {
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 0.78em;
font-weight: 400;
color: var(--bb-ink-soft, #6b6b6b);
margin-bottom: 2px;
}
.bb-split-name .bb-split-var {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
font-weight: 600;
line-height: 1.35;
}
.bb-box-card-price { margin-top: auto; }  .bb-box-grid.bb-box-grid-matrix { display: flex; flex-direction: column; gap: 10px; }
.bb-box-grid-matrix .bb-box-card-matrix {
display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 12px;
padding: 12px 14px; cursor: pointer;
border: 1px solid var(--bb-line, #e4e8ef); border-radius: 12px; background: var(--bb-card, #fff);
transition: border-color .15s ease;
}
.bb-box-card-matrix.bb-box-card-chosen { border-color: color-mix( in srgb, var(--bb-accent, #3466e6) 45%, var(--bb-line, #e4e8ef) ); }
.bb-box-card-matrix.is-open { border-color: var(--bb-accent, #3466e6); }
.bb-box-card-matrix > .bb-box-card-img,
.bb-box-card-matrix > .bb-noimg { width: 50px; height: 50px; min-height: 0; border-radius: 8px; object-fit: cover; flex: none; }
.bb-box-card-matrix > .bb-box-card-name { flex: 1 1 140px; min-height: 0; display: block; -webkit-line-clamp: unset; overflow: visible; font-weight: 600; }
.bb-box-card-matrix > .bb-box-card-price { margin: 0; flex: none; color: var(--bb-muted, #5c6780); font-size: .9em; }
.bb-box-card-picks { flex-basis: 100%; order: 50; display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: .8em; color: var(--bb-muted, #5c6780); }
.bb-box-card-picks:empty { display: none; }
.bb-box-card-picks .bb-mpick { display: inline-flex; align-items: center; gap: 5px; }
.bb-box-card-picks .bb-mpick .bb-cd { width: 10px; height: 10px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.2); }
.bb-box-card-picks .bb-mpick b { color: var(--bb-ink, #1a2036); font-weight: 700; }
.bb-box-card-total { flex: none; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--bb-green, #12805a); }
.bb-box-card-total:empty { display: none; } .bb-box-card-matrix > .bb-grid-pinned { flex-basis: 100%; order: 40; margin: 0; font-size: .8em; color: var(--bb-muted, #5c6780); }
.bb-box-card-chev { width: 20px; height: 20px; flex: none; color: var(--bb-muted, #8b96ad); transition: transform .2s ease; }
.bb-box-card-matrix.is-open .bb-box-card-chev { transform: rotate(180deg); color: var(--bb-accent, #3466e6); } .bb-box-card-matrix > .bb-card-matrix { flex-basis: 100%; order: 99; margin-top: 2px; cursor: default; display: grid; grid-template-rows: 0fr; opacity: 0; overflow: hidden; transition: grid-template-rows .28s ease, opacity .2s ease, margin-top .28s ease; margin-top: 0; }
.bb-box-card-matrix.is-open > .bb-card-matrix { grid-template-rows: 1fr; opacity: 1; margin-top: 6px; }
.bb-box-card-matrix > .bb-card-matrix > .bb-matrix-scroll { min-height: 0; }
@media ( prefers-reduced-motion: reduce ) { .bb-box-card-matrix > .bb-card-matrix { transition: none; } } .bb-box-grid-matrix .bb-box-card-matrix { min-width: 0; }
.bb-card-matrix { min-width: 0; max-width: 100%; position: relative; }
.bb-card-matrix .bb-matrix-scroll { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; border: 1px solid var(--bb-line, #e4e8ef); border-radius: 8px; background: var(--bb-card, #fff); } .bb-matrix tbody th.bb-matrix-colour, .bb-matrix thead th.bb-matrix-corner { box-shadow: 7px 0 8px -8px rgba( 15, 23, 42, .3 ); }
.bb-matrix thead th.bb-matrix-sub, .bb-matrix td.bb-matrix-rowsub { position: sticky; right: 0; background: var( --bb-card, #fff ); box-shadow: -7px 0 8px -8px rgba( 15, 23, 42, .3 ); }
.bb-matrix thead th.bb-matrix-sub { z-index: 3; }
.bb-matrix td.bb-matrix-rowsub { z-index: 1; }
.bb-matrix { border-collapse: separate; border-spacing: 0; width: 100%; font-variant-numeric: tabular-nums; }
.bb-matrix th, .bb-matrix td { padding: 0; text-align: center; }
.bb-matrix thead th { position: sticky; top: 0; z-index: 3; background: var(--bb-card, #fff); color: var(--bb-muted, #5c6780); font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: 9px 6px; border-bottom: 1px solid var(--bb-line-strong, #d3d9e4); white-space: nowrap; }
.bb-matrix thead th.bb-matrix-size { cursor: pointer; min-width: 58px; }
.bb-matrix thead th.bb-matrix-size:hover { color: var(--bb-accent, #3466e6); }
.bb-matrix thead th.bb-matrix-corner { left: 0; z-index: 4; text-align: left; padding-left: 12px; min-width: 118px; }
.bb-matrix thead th.bb-matrix-sub { text-align: right; padding-right: 12px; }
.bb-matrix tbody th.bb-matrix-colour { position: sticky; left: 0; z-index: 2; background: var(--bb-card, #fff); text-align: left; padding: 8px 10px 8px 12px; border-bottom: 1px solid var(--bb-line, #e4e8ef); font-weight: 500; font-size: 13.5px; white-space: nowrap; }
.bb-matrix tbody tr:last-child th.bb-matrix-colour, .bb-matrix tbody tr:last-child td { border-bottom: 0; }
.bb-matrix-swatch { display: inline-block; width: 14px; height: 14px; border-radius: 50%; margin-right: 8px; vertical-align: -2px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.2); }
.bb-matrix-ccount { display: inline-flex; min-width: 20px; height: 18px; padding: 0 6px; margin-left: 9px; align-items: center; justify-content: center; border-radius: 999px; font-size: 11px; font-weight: 800; background: var(--bb-accent, #3466e6); color: #fff; vertical-align: 1px; }
.bb-matrix-ccount.bb-zero { background: transparent; color: var(--bb-muted, #8b96ad); box-shadow: inset 0 0 0 1px var(--bb-line-strong, #d3d9e4); }
.bb-matrix td.bb-matrix-cell { border-bottom: 1px solid var(--bb-line, #e4e8ef); border-left: 1px solid var(--bb-line, #e4e8ef); }
.bb-matrix td.bb-matrix-cell.bb-has-qty { background: color-mix( in srgb, var(--bb-accent, #3466e6) 8%, transparent ); }
.bb-matrix td.bb-matrix-gap { border-bottom: 1px solid var(--bb-line, #e4e8ef); border-left: 1px solid var(--bb-line, #e4e8ef); background: repeating-linear-gradient( 45deg, transparent, transparent 4px, rgba(0,0,0,.03) 4px, rgba(0,0,0,.03) 8px ); }
.bb-matrix td.bb-matrix-oos { border-bottom: 1px solid var(--bb-line, #e4e8ef); border-left: 1px solid var(--bb-line, #e4e8ef); color: var(--bb-muted, #8b96ad); }
.bb-matrix td.bb-matrix-rowsub { border-bottom: 1px solid var(--bb-line, #e4e8ef); text-align: right; padding-right: 12px; color: var(--bb-muted, #5c6780); font-size: 13px; min-width: 58px; }
.bb-matrix td.bb-matrix-rowsub b { color: var(--bb-ink, #1a2036); font-weight: 700; }
.bb-matrix .bb-grid-qty { width: 52px; height: 38px; text-align: center; border: 0; background: none; color: inherit; font: inherit; font-size: 15px; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.bb-matrix .bb-grid-qty::-webkit-outer-spin-button, .bb-matrix .bb-grid-qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bb-matrix .bb-grid-qty:focus { outline: 2px solid var(--bb-accent, #3466e6); outline-offset: -2px; border-radius: 4px; } .bb-matrix .bb-grid-qty::placeholder { color: var( --bb-line-strong, #d3d9e4 ); opacity: 1; }
.bb-matrix td.bb-matrix-cell.bb-has-qty .bb-grid-qty { font-weight: 700; color: var( --bb-accent, #3466e6 ); }
.bb-box-grid-matrix .bb-box-card-matrix { position: relative; } .bb-box:has( .bb-box-grid-matrix ) { max-width: 960px; } .bb-box-grid.bb-box-grid-matrix.bb-box-layout-gallery { display: grid; grid-template-columns: repeat( auto-fill, minmax( var( --bb-box-gallery-min, 210px ), 1fr ) ); gap: 12px; align-items: start; }
.bb-box-layout-gallery .bb-box-card-matrix { flex-direction: column; align-items: center; text-align: center; gap: 7px; padding: 14px; }
.bb-box-layout-gallery .bb-box-card-matrix > .bb-box-card-img,
.bb-box-layout-gallery .bb-box-card-matrix > .bb-noimg { width: 100%; height: var( --bb-box-gallery-photo, 150px ); border-radius: 8px; font-size: 34px; } .bb-box-layout-gallery .bb-box-card-matrix:not( .is-open ) > .bb-box-card-img { object-fit: contain; background: var( --bb-sunk, #f7f8fa ); padding: 6px; }
.bb-box-layout-gallery .bb-box-card-matrix > .bb-box-card-name { flex: none; font-size: 14px; }
.bb-box-layout-gallery .bb-box-card-picks { justify-content: center; }
.bb-box-layout-gallery .bb-box-card-chev { position: absolute; top: 12px; right: 12px; } .bb-box-layout-gallery .bb-box-card-matrix.is-open { grid-column: 1 / -1; order: -1; flex-direction: row; flex-wrap: wrap; align-items: center; text-align: left; scroll-margin-top: 84px; }
.bb-box-layout-gallery .bb-box-card-matrix.is-open > .bb-box-card-img,
.bb-box-layout-gallery .bb-box-card-matrix.is-open > .bb-noimg { width: 50px; height: 50px; font-size: 15px; }
.bb-box-layout-gallery .bb-box-card-matrix.is-open > .bb-box-card-name { flex: 1 1 140px; }
.bb-box-layout-gallery .bb-box-card-matrix.is-open .bb-box-card-chev { position: static; } .bb-box-grid.bb-box-grid-matrix.bb-box-layout-pad { gap: 0; border: 1px solid var(--bb-line, #e4e8ef); border-radius: 10px; overflow: hidden; }
.bb-box-layout-pad .bb-box-card-matrix { border: 0; border-bottom: 1px solid var(--bb-line, #e4e8ef); border-radius: 0; padding: 8px 14px; gap: 4px 12px; }
.bb-box-layout-pad .bb-box-card-matrix:last-child { border-bottom: 0; }
.bb-box-layout-pad .bb-box-card-matrix.is-open { background: var(--bb-sunk, #fbfcfd); }
.bb-box-layout-pad .bb-box-card-matrix.bb-box-card-chosen { border-left: 3px solid var(--bb-accent, #3466e6); padding-left: 11px; }
.bb-box-layout-pad .bb-box-card-matrix > .bb-box-card-img,
.bb-box-layout-pad .bb-box-card-matrix > .bb-noimg { width: 38px; height: 38px; border-radius: 6px; font-size: 15px; }
.bb-box-layout-pad .bb-box-card-matrix > .bb-box-card-name { font-size: 13.5px; }
.bb-box-layout-pad .bb-box-card-matrix > .bb-card-matrix { margin-top: 6px; } .bundle-items.bundle-layout-grid {
align-items: stretch;
} .bundle-items.bundle-layout-grid .bundle-item.bundle-item--collapsed {
align-self: start;
}
.bundle-layout-grid .bundle-item {
display: flex;
flex-direction: column;
}
.bundle-layout-grid .bb-card-body.bundle-item-inner {
flex: 1 1 auto;
}
.bundle-layout-grid .bundle-item-price {
margin-top: auto;
} .bundle-layout-grid .bb-noimg {
max-width: none;
width: 100%;
height: 100%;
aspect-ratio: auto;
border-radius: 0;
}
.bundle-layout-grid .bb-item-name {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
} .bb-noimg {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
max-width: 96px;
aspect-ratio: 1 / 1;
background: color-mix( in srgb, var(--bb-border) 30%, var(--bb-surface) );
color: var(--bb-text);
opacity: 0.8;
font-weight: 700;
font-size: 1.3em;
border-radius: 10px;
} .bb-gift {
border: 1.5px solid var(--bb-border);
border-radius: 14px;
padding: 14px 16px;
margin-top: 14px;
background: var(--bb-surface);
} .bb-gift-toggle {
display: flex;
align-items: flex-start;
gap: 10px;
cursor: pointer;
}
.bb-gift-toggle > input { margin-top: 3px; }
.bb-gift-icon {
color: var(--bb-accent, #7c3aed);
display: inline-flex;
margin-top: 2px;
}
.bb-gift-copy { display: flex; flex-direction: column; gap: 2px; }
.bb-gift-copy strong { font-size: 0.98em; }
.bb-gift-sub {
font-size: 0.85em;
color: var(--bb-text);
} .bb-unit-price:empty::before {
content: "...";
color: var(--bb-text);
opacity: 0.45;
} .bb-view-link {
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
margin-left: 4px;
vertical-align: -3px;
border: 1px solid var(--bb-border);
border-radius: 50%;
color: var(--bb-text);
opacity: 0.65;
text-decoration: none;
transition: opacity 0.12s, border-color 0.12s, color 0.12s;
}
.bb-view-link:hover,
.bb-view-link:focus {
opacity: 1;
color: var(--bb-accent-deep, var(--bb-ink));
border-color: currentColor;
text-decoration: none;
} .bb-bundle-qty {
display: flex;
align-items: center;
gap: 12px;
flex-wrap: wrap;
margin: 0 0 14px;
}
.bb-qty-label { font-weight: 600; color: var(--bb-ink); }
.bb-qty-stepper {
display: inline-flex;
align-items: stretch;
border: 1px solid var(--bb-border);
border-radius: 10px;
overflow: hidden;
background: var(--bb-surface);
}
.bb-qty-btn {
border: 0;
background: var(--bb-summary-bg, #f1f2f5);
color: var(--bb-ink);
width: 38px;
font-size: 1.1rem;
line-height: 1;
cursor: pointer;
padding: 0;
}
.bb-qty-btn:hover { background: var(--bb-border); }
.bb-qty-input {
width: 3.2em;
text-align: center;
border: 0;
border-left: 1px solid var(--bb-border);
border-right: 1px solid var(--bb-border);
font-weight: 600;
-moz-appearance: textfield;
padding: 8px 4px;
background: var(--bb-surface);
color: var(--bb-ink);
}
.bb-qty-input::-webkit-outer-spin-button,
.bb-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } .bundle-boss-form .bb-qty-stepper .bb-qty-input {
width: 3.2em !important;
min-width: 0 !important;
height: auto !important;
min-height: 0 !important;
margin: 0 !important;
padding: 8px 4px !important;
border: 0 !important;
border-left: 1px solid var(--bb-border) !important;
border-right: 1px solid var(--bb-border) !important;
border-radius: 0 !important;
box-shadow: none !important;
font-size: 1em !important;
line-height: 1.3 !important;
flex: 0 0 auto;
}
.bundle-boss-form .bb-qty-stepper .bb-qty-btn {
flex: 0 0 auto;
margin: 0 !important;
min-height: 0 !important;
border-radius: 0 !important;
box-shadow: none !important;
} .bb-order-tray [hidden][hidden][hidden],
.bb-tray-peek[hidden][hidden][hidden],
.bundle-boss-form [hidden][hidden][hidden] {
display: none !important;
} .bundle-boss-form .bb-simple-unit { padding: 10px 0 6px; border-top: 1px solid var(--bb-border, #e6e8ec); }
.bundle-boss-form .bb-simple-unit:first-of-type { border-top: 0; }
.bundle-boss-form .bb-unit-title { display: block; font-weight: 600; font-size: 13px; margin-bottom: 2px; }
.bundle-boss-form .bb-unit-options { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0 4px; }
.bundle-boss-form .bb-unit-options-label { flex-basis: 100%; font-size: 12px; text-transform: uppercase; letter-spacing: 0.4px; color: #6b7280; }
.bundle-boss-form .bb-chip--option { display: inline-flex; align-items: center; gap: 7px; cursor: pointer; user-select: none; }
.bundle-boss-form .bb-chip--option .bb-chip-delta { color: #6b7280; font-size: 0.85em; }
.bundle-boss-form .bb-chip--option .bb-chip-delta .amount { font-size: inherit; }
.bundle-boss-form .bb-chip--option.bb-chip--selected { border-color: var(--bb-accent, #fd4730); box-shadow: 0 0 0 1px var(--bb-accent, #fd4730); font-weight: 600; } .bundle-boss-form .bb-chip--option .bb-option-pick { position: absolute; width: 1px; height: 1px; opacity: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); pointer-events: none; }
.bundle-boss-form .bb-chip--option { position: relative; }
.bundle-boss-form .bb-chip--option .bb-opt-dot { display: inline-block; width: 13px; height: 13px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, 0.15); flex-shrink: 0; } .bb-preview-sides { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.bb-preview-side {
position: relative;
cursor: pointer;
border: 1px solid var(--bb-border);
background: var(--bb-surface);
color: var(--bb-ink);
border-radius: 8px;
padding: 7px 14px;
font: inherit;
font-size: 0.9em;
font-weight: 600;
line-height: 1;
}
.bb-preview-side:hover { border-color: var(--bb-accent); }
.bb-preview-side.is-active { border-color: var(--bb-accent); background: var(--bb-accent-bg); }
.bb-preview-side:focus-visible { outline: 2px solid var(--bb-accent); outline-offset: 2px; } .bb-preview-side.has-thumb { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 6px; width: 78px; }
.bb-preview-sidethumb { width: 100%; height: 58px; object-fit: contain; border-radius: 5px; background: var(--bb-surface-alt); display: block; pointer-events: none; }
.bb-preview-side.has-thumb .bb-preview-sidelabel { font-size: 0.82em; font-weight: 700; }
.bb-preview-sidedot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--bb-accent); margin-left: 7px; vertical-align: middle; opacity: 0; transition: opacity .15s; }
.bb-preview-side.has-content .bb-preview-sidedot { opacity: 1; }
.bb-preview-side.has-thumb .bb-preview-sidedot { position: absolute; top: 6px; right: 6px; margin: 0; }
.bb-preview-modal { position: fixed; inset: 0; z-index: 100000; background: rgba( 15, 17, 22, .82 ); display: flex; align-items: center; justify-content: center; padding: 24px; }
.bb-preview-modal-inner { position: relative; display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: 100%; max-height: 100%; }
.bb-preview-modal-canvas { max-width: 90vw; max-height: 78vh; background: var(--bb-surface); border-radius: 10px; box-shadow: 0 20px 60px rgba( 0, 0, 0, .5 ); }
.bb-preview-modal-close { position: absolute; top: -14px; right: -14px; width: 36px; height: 36px; border-radius: 50%; border: 0; background: var(--bb-surface); color: var(--bb-ink); font-size: 15px; cursor: pointer; box-shadow: 0 2px 8px rgba( 0, 0, 0, .3 ); }
.bb-preview-modal-tabs { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; } .bb-file-chip { display: inline-flex; align-items: center; gap: 9px; padding: 6px 9px; border: 1px solid var(--bb-border); border-radius: 9px; background: var(--bb-surface-faint); max-width: 100%; }
.bb-file-thumb { flex: none; width: 38px; height: 38px; border-radius: 6px; overflow: hidden; background: var(--bb-surface-alt); display: flex; align-items: center; justify-content: center; color: var(--bb-muted); }
.bb-file-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bb-file-thumb svg { width: 19px; height: 19px; }
.bb-file-meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.bb-file-fn { font-size: 13px; font-weight: 600; color: var(--bb-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 210px; }
.bb-file-fs { font-size: 11px; color: var(--bb-muted); display: inline-flex; align-items: center; gap: 7px; }
.bb-file-ok { display: inline-flex; align-items: center; gap: 3px; color: var(--bb-success); font-weight: 600; }
.bb-file-ok svg { width: 11px; height: 11px; }
.bb-file-rm { flex: none; border: 0; background: none; cursor: pointer; color: var(--bb-muted); font-size: 16px; line-height: 1; padding: 2px 4px; }
.bb-file-rm:hover { color: var(--bb-error); } .bb-addon-counter { font-size: 11px; color: var(--bb-muted-light); font-variant-numeric: tabular-nums; }
.bb-addon-counter.is-near { color: var(--bb-warn); font-weight: 600; }
.bb-field-group.is-filled { border-left: 2px solid var(--bb-success-bright); padding-left: 9px; } .bb-positions-pick { margin: 0 0 1.1em; padding: 14px; border: 1px solid var(--bb-border); border-radius: 12px; background: var(--bb-surface); }
.bb-pp-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 11px; }
.bb-pp-title { font-weight: 700; font-size: 1.02em; color: var(--bb-ink); }
.bb-pp-count { font-size: 0.82em; color: var(--bb-muted); font-variant-numeric: tabular-nums; }
.bb-pp-tiles { display: grid; grid-template-columns: repeat( auto-fill, minmax( 128px, 1fr ) ); gap: 10px; }
.bb-pp-tile { position: relative; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 8px 8px 9px; border: 1.5px solid var(--bb-border); border-radius: 11px; background: var(--bb-surface); color: var(--bb-ink); font: inherit; cursor: pointer; text-align: center; transition: border-color .14s, box-shadow .14s, background .14s; }
.bb-pp-tile:hover { border-color: var(--bb-border-strong); }
.bb-pp-tile.is-on { border-color: var(--bb-accent); box-shadow: 0 0 0 1px var(--bb-accent); background: var(--bb-accent-bg); }
.bb-pp-tile:focus-visible { outline: 2px solid var(--bb-accent); outline-offset: 2px; }
.bb-pp-tick { position: absolute; top: 6px; right: 6px; z-index: 2; width: 19px; height: 19px; border-radius: 50%; background: var(--bb-accent); color: #fff; font-size: 11px; line-height: 19px; opacity: 0; transform: scale( .6 ); transition: opacity .13s, transform .13s; }
.bb-pp-tile.is-on .bb-pp-tick { opacity: 1; transform: scale( 1 ); }
.bb-pp-fee { position: absolute; top: 6px; left: 6px; z-index: 2; font-size: 0.68em; font-weight: 700; background: var(--bb-surface); border: 1px solid var(--bb-border); border-radius: 20px; padding: 2px 7px; }
.bb-pp-shot { position: relative; display: block; width: 100%; aspect-ratio: 1 / 1; background: var(--bb-surface-alt); border-radius: 7px; overflow: hidden; }
.bb-pp-shot img { width: 100%; height: 100%; object-fit: contain; display: block; } .bb-pp-shot.is-own img { object-fit: cover; }
.bb-pp-mark { position: absolute; border: 1px dashed var(--bb-accent); background: color-mix( in srgb, var(--bb-accent) 16%, transparent ); border-radius: 2px; pointer-events: none; }
.bb-pp-name { font-size: 0.86em; font-weight: 700; line-height: 1.25; }
.bb-pp-ways { font-size: 0.7em; color: var(--bb-muted); line-height: 1.35; }
.bb-pp-panels { display: flex; flex-direction: column; gap: 10px; }
.bb-pp-panels:not(:empty) { margin-top: 12px; }
.bb-pp-panel { border: 1px solid var(--bb-border); border-radius: 10px; overflow: hidden; }
.bb-pp-panel[hidden] { display: none; }
.bb-pp-panel-h { display: flex; align-items: baseline; gap: 9px; padding: 9px 12px; background: var(--bb-surface-faint); }
.bb-pp-panel-t { font-weight: 700; font-size: 0.92em; }
.bb-pp-panel-s { font-size: 0.76em; color: var(--bb-muted); }
.bb-pp-panel-b { display: flex; flex-direction: column; gap: 10px; padding: 12px; border-top: 1px solid var(--bb-border); }
.bb-pp-field { display: flex; flex-direction: column; gap: 4px; }
.bb-pp-field-s { max-width: 260px; }
.bb-pp-lab { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 0.82em; font-weight: 700; color: var(--bb-text); }
.bb-pp-panel-b input[type="text"], .bb-pp-panel-b select { width: 100%; box-sizing: border-box; font: inherit; font-size: 0.95em; padding: 8px 10px; border: 1px solid var(--bb-border-strong); border-radius: 8px; background: var(--bb-surface); color: var(--bb-ink); }
.bb-pp-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 12px; padding: 10px 12px; background: var(--bb-surface-faint); border: 1px solid var(--bb-border); border-radius: 10px; font-size: 0.88em; }
.bb-pp-total[hidden] { display: none; }
.bb-pp-sum { font-size: 1.15em; font-weight: 700; }
@media ( max-width: 480px ) {
.bb-pp-tiles { grid-template-columns: repeat( auto-fill, minmax( 104px, 1fr ) ); }
} .bb-positions-pick .bb-pp-tile,
.bb-positions-pick .bb-pp-tile:hover,
.bb-positions-pick .bb-pp-tile:focus,
.bb-positions-pick .bb-pp-tile:active,
.bb-positions-pick .bb-pp-tile.is-on,
.bb-positions-pick .bb-pp-tile.is-on:hover,
.bb-positions-pick .bb-pp-tile.is-on:focus {
color: var(--bb-ink);
text-shadow: none;
box-shadow: none;
}
.bb-positions-pick .bb-pp-tile.is-on,
.bb-positions-pick .bb-pp-tile.is-on:hover,
.bb-positions-pick .bb-pp-tile.is-on:focus { background: var(--bb-accent-bg); border-color: var(--bb-accent); box-shadow: 0 0 0 1px var(--bb-accent); }
.bb-positions-pick .bb-pp-tile:not(.is-on),
.bb-positions-pick .bb-pp-tile:not(.is-on):hover,
.bb-positions-pick .bb-pp-tile:not(.is-on):focus { background: var(--bb-surface); }
.bb-positions-pick .bb-pp-tile .bb-pp-name { color: var(--bb-ink); }
.bb-positions-pick .bb-pp-tile .bb-pp-ways { color: var(--bb-muted); }
.bb-positions-pick .bb-pp-tile .bb-pp-fee { color: var(--bb-ink); background: var(--bb-surface); }
.bb-positions-pick .bb-pp-tile .bb-pp-tick { color: #fff; } .bb-pp-tiles { align-items: stretch; }
.bb-positions-pick .bb-pp-tile { justify-content: flex-start; } .bb-pp-artwork { margin-top: 4px; padding: 10px 12px; border-radius: 9px; background: var(--bb-warn-bg); border: 1px solid var(--bb-warn-border); }
.bb-pp-artwork[hidden] { display: none; }
.bb-pp-artwork.is-blocking { background: color-mix( in srgb, var(--bb-error) 8%, transparent ); border-color: var(--bb-error); }
.bb-pp-art-msg { margin: 0 0 6px; font-size: 0.84em; line-height: 1.5; color: var(--bb-warn-deep); }
.bb-pp-artwork.is-blocking .bb-pp-art-msg { color: var(--bb-error); }
.bb-pp-art-msg:last-child { margin-bottom: 0; }
.bb-pp-art-help { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; padding: 7px 10px; border-radius: 8px; background: var(--bb-surface); border: 1px solid var(--bb-border); font-size: 0.86em; font-weight: 600; cursor: pointer; }
.bb-pp-art-help[hidden] { display: none; }  .bb-buildable-notice {
margin: 0 0 14px;
padding: 9px 14px;
border: 1px solid var(--bb-warn-border);
border-left: 3px solid var(--bb-warn-accent);
border-radius: 6px;
background: var(--bb-warn-bg);
color: var(--bb-warn-deep);
font-size: 0.9em;
font-weight: 600;
line-height: 1.45;
} .bb-buildable-notice.bb-buildable-none {
border-color: var(--bb-border-strong);
border-left-color: var(--bb-muted-light);
background: var(--bb-surface-alt);
color: var(--bb-text);
font-weight: 500;
} .bb-cand-choices {
display: block;
width: 100%;
margin-top: 9px;
padding-top: 8px;
border-top: 1px solid var(--bb-border-soft, #ececed);
}
.bb-cand-choices-lb {
display: block;
font-size: 10.5px;
font-weight: 700;
letter-spacing: 0.05em;
text-transform: uppercase;
color: var(--bb-ink-soft, #6b6256);
margin-bottom: 6px;
}
.bb-cand-sw-row {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 3px;
}
.bb-cand-sw {
display: flex;
flex-direction: column;
align-items: center;
gap: 2px;
width: 44px;
padding: 4px 1px;
border-radius: 8px;
border: 1.5px solid transparent;
cursor: pointer;
}
.bb-cand-sw i {
width: 21px;
height: 21px;
border-radius: 50%;
border: 1px solid rgba( 0, 0, 0, 0.14 );
box-shadow: inset 0 0 0 2px var(--bb-surface, #fff);
background: var(--bb-surface-faint, #f3f4f6);
} .bb-cand-sw--text {
width: auto;
min-width: 34px;
padding: 4px 10px;
background: var(--bb-surface, #fff);
border-color: var(--bb-border, #d1d5db);
border-radius: 100px;
}
.bb-cand-sw--text:hover {
background: var(--bb-surface-faint, #f3f4f6);
}
.bb-cand-sw--text > span {
font-size: 12px;
font-weight: 500;
color: var(--bb-text, #374151);
}
.bb-cand-sw--text.on {
background: var(--bb-accent-bg, #f1ecff);
}
.bb-cand-sw > span {
font-size: 9.5px;
line-height: 1.15;
color: var(--bb-ink-soft, #6b6256);
text-align: center;
max-width: 100%;
overflow-wrap: break-word;
}
.bb-cand-sw:hover { border-color: var(--bb-border-strong, #d5d2dc); }
.bb-cand-sw:focus-visible { outline: 2px solid var(--bb-accent); outline-offset: 1px; }
.bb-cand-sw.on { border-color: var(--bb-accent); background: var(--bb-accent-bg, #f1ecff); }
.bb-cand-sw.on > span { color: var(--bb-accent); font-weight: 700; }
.bb-cand-sw.is-oos { opacity: 0.4; cursor: not-allowed; } .bb-cand-nudge { animation: bbCandNudge 0.45s ease; }
@keyframes bbCandNudge {
0%, 100% { transform: none; }
30% { transform: translateX( -4px ); }
60% { transform: translateX( 4px ); }
}
@media ( prefers-reduced-motion: reduce ) {
.bb-cand-nudge { animation: none; }
} .bb-chooser .bb-candidate { position: relative; }
.bb-chooser .bb-candidate.is-selected {
border-color: var(--bb-accent);
box-shadow: 0 0 0 3px var(--bb-accent-bg, #f1ecff);
}
.bb-chooser .bb-candidate-tick {
position: absolute;
top: 8px;
left: 8px;
z-index: 2; width: 24px;
height: 24px;
border-radius: 50%;
background: var(--bb-accent);
color: #fff;
font-size: 13px;
font-weight: 700;
line-height: 24px;
text-align: center;
box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.25 );
pointer-events: none;
} .bb-inline-config { display: none; } .bundle-boss-form .bb-inc-bundle { display: grid; gap: 8px; margin: 0 0 14px; }
.bundle-boss-form .bb-inc {
display: flex;
gap: 9px;
align-items: center;
margin: 0 0 12px;
padding: 10px 12px;
background: var(--bb-surface-alt);
border: 0;
border-radius: 10px;
color: var(--bb-text);
font-size: 0.875em;
line-height: 1.4;
}
.bundle-boss-form .bb-inc-bundle .bb-inc { margin: 0; }
.bundle-boss-form .bb-inc strong { color: var(--bb-ink); font-weight: 600; }
.bundle-boss-form .bb-inc-tick { flex: none; color: var(--bb-ink); }
.bundle-boss-form details.bb-inc { display: block; padding: 0; }
.bundle-boss-form details.bb-inc > summary {
display: flex;
gap: 10px;
align-items: center;
margin: 0;
padding: 8px 12px;
list-style: none;
cursor: pointer;
border-radius: 10px;
}
.bundle-boss-form details.bb-inc > summary::-webkit-details-marker { display: none; }
.bundle-boss-form details.bb-inc > summary::marker { content: ''; }
.bundle-boss-form details.bb-inc > summary:focus-visible { outline: 2px solid var(--bb-link); outline-offset: 2px; }
.bundle-boss-form .bb-inc-pic {
flex: none;
width: 46px;
height: 46px;
overflow: hidden;
border: 1px solid var(--bb-border);
border-radius: 8px;
background: var(--bb-surface);
}
.bundle-boss-form .bb-inc-pic img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; }
.bundle-boss-form .bb-inc-t { display: grid; gap: 1px; min-width: 0; }
.bundle-boss-form .bb-inc-more {
justify-self: start;
color: var(--bb-ink);
font-size: 0.92em;
text-decoration: underline;
text-underline-offset: 2px;
}
.bundle-boss-form .bb-inc-hide,
.bundle-boss-form details.bb-inc[open] .bb-inc-see { display: none; }
.bundle-boss-form details.bb-inc[open] .bb-inc-hide { display: inline; }
.bundle-boss-form .bb-inc-zoom {
display: block;
width: 180px;
max-width: calc(100% - 24px);
height: auto;
margin: 0 12px 12px;
border-radius: 8px;
background: var(--bb-surface);
} .bundle-boss-form .bb-inc-several { display: grid; gap: 10px; }
.bundle-boss-form .bb-inc-head { display: flex; gap: 9px; align-items: center; margin: 0; }
.bundle-boss-form .bb-inc-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
align-items: start;
gap: 12px 14px;
}
.bundle-boss-form .bb-inc-unit { margin: 0; padding: 0; border: 0; }
.bundle-boss-form .bb-inc-unit[open] { grid-column: 1 / -1; }
.bundle-boss-form .bb-inc-unit > summary {
display: flex;
gap: 10px;
align-items: flex-start;
margin: 0;
padding: 0;
list-style: none;
cursor: pointer;
border-radius: 8px;
}
.bundle-boss-form .bb-inc-unit > summary::-webkit-details-marker { display: none; }
.bundle-boss-form .bb-inc-unit > summary::marker { content: ''; }
.bundle-boss-form .bb-inc-unit > summary:focus-visible { outline: 2px solid var(--bb-link); outline-offset: 2px; }
.bundle-boss-form .bb-inc-unit .bb-inc-t strong { overflow-wrap: anywhere; }
.bundle-boss-form .bb-inc-unit[open] .bb-inc-see { display: none; }
.bundle-boss-form .bb-inc-unit[open] .bb-inc-hide { display: inline; }
.bundle-boss-form .bb-inc-unit .bb-inc-zoom { margin: 10px 0 0; max-width: 100%; }
.bundle-boss-form .bb-inc-also { margin: 0; color: var(--bb-text); } @media (max-width: 520px) {
.bundle-boss-form .bb-inc-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px 10px; }
.bundle-boss-form .bb-inc-unit > summary { gap: 8px; }
.bundle-boss-form .bb-inc-unit .bb-inc-pic { width: 40px; height: 40px; }
}
.bundle-boss-form .bb-inc-items { display: grid; gap: 2px; margin: 2px 0 0; } .bundle-boss-form .bb-inc-item {
display: block;
color: var(--bb-ink);
font-size: 0.8em;
line-height: 1.35;
}
.bundle-boss-form .bb-inc-item .bb-inc-tick { display: inline-block; margin-right: 4px; vertical-align: -0.2em; }
.bundle-boss-form .bb-inc-item strong { font-weight: 600; }
.bundle-boss-form .bb-inc-item.is-plain { color: var(--bb-muted); }