.bz-premade-composition {
  margin: 16px 0 18px;
  padding: 12px 14px;
  border: 1px solid var(--wp--preset--color--line, #dedbd3);
  border-radius: var(--wp--custom--radius--card, 4px);
  background: var(--wp--preset--color--surface-light, #fbfaf8);
  color: var(--wp--preset--color--graphite, #242421);
  font-family: var(--wp--preset--font-family--body, inherit);
}

.bz-premade-composition__heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.3;
}

.bz-premade-composition__heading strong { font-weight: 650; }
.bz-premade-composition__heading span { color: #686963; font-size: 12px; }

.bz-premade-composition ul {
  display: grid;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bz-premade-composition li {
  display: flex;
  gap: 9px;
  align-items: center;
  min-width: 0;
  padding: 6px 0;
}

.bz-premade-composition li + li { border-top: 1px solid var(--wp--preset--color--line, #dedbd3); }

.bz-premade-composition__image,
.bz-premade-composition__image img {
  display: block;
  width: 38px;
  height: 38px;
  flex: none;
  border-radius: 3px;
  object-fit: cover;
}

.bz-premade-composition__copy {
  display: grid;
  gap: 0;
  min-width: 0;
  flex: 1 1 auto;
}

.bz-premade-composition__name {
  color: inherit;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none;
}

.bz-premade-composition__name:hover,
.bz-premade-composition__name:focus-visible { color: var(--wp--preset--color--brand, #244f3e); text-decoration: underline; }

.bz-premade-composition small {
  color: #686963;
  font-size: 11px;
  line-height: 1.2;
}

.bz-premade-composition__unit-price {
  display: grid;
  flex: 0 0 auto;
  gap: 1px;
  text-align: right;
  white-space: nowrap;
}

.bz-premade-composition__unit-price strong,
.bz-premade-composition__unit-price .amount {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
}

.bz-premade-composition__subtotal {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin: 5px 0 0;
  padding-top: 10px;
  border-top: 1px solid var(--wp--preset--color--line, #dedbd3);
  font-size: 12.5px;
  line-height: 1.3;
}

.bz-premade-composition__subtotal strong,
.bz-premade-composition__subtotal .amount {
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

/* The established tier selector shows the discounted set price below this comparison. */
.bz-premade-composition + form.cart .bz-bundle-offer { margin-top: 0; }
.bz-premade-composition + form.cart .bz-bundle-title { margin-bottom: 10px; }
.bz-premade-composition + form.cart .bz-bundle-title strong { font-size: 13px; }

/* WooCommerce does not create a FlexSlider viewport for a one-photo product.
   Make its direct gallery wrapper fill the main image column in that case. */
@media (min-width: 782px) {
  .woocommerce div.product div.images.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    grid-column: 1 / -1;
    width: 100%;
  }
  .woocommerce div.product div.images.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
  .woocommerce div.product div.images.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image > a,
  .woocommerce div.product div.images.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    height: auto;
  }
}
/* Optional trays: collapsed native disclosure; all choices available on opening. */
body.single-product .bz-premade-trays {
  margin: 0 0 20px; padding: 0; min-width: 0;
  border: 1px solid var(--bz-ds-line, var(--wp--preset--color--line));
  border-radius: var(--bz-ds-card, var(--wp--custom--radius--card));
  background: var(--bz-ds-surface, var(--wp--preset--color--surface-light));
  color: var(--bz-ds-ink, var(--wp--preset--color--graphite));
  font-family: var(--wp--preset--font-family--body);
}
.bz-premade-trays [hidden] { display: none !important; }
.bz-premade-trays__disclosure { margin: 0; padding: 0; border: 0; background: transparent; }
body .bz-premade-trays__summary {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  box-sizing: border-box; min-height: 70px; padding: 14px 16px; border-radius: inherit;
  list-style: none; cursor: pointer; color: var(--bz-ds-brand); text-align: left;
}
.bz-premade-trays__summary::-webkit-details-marker { display: none; }
.bz-premade-trays__summary::marker { content: ''; }
.bz-premade-trays__icon { display: block; flex: 0 0 22px; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
.bz-premade-trays__heading { display: grid; flex: 1; min-width: 0; gap: 4px; }
.bz-premade-trays__title { font-size: 15px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
body .bz-premade-trays__hint { display: block; margin: 0; padding: 0; background: none; font-size: 12px; font-weight: 400; line-height: 1.5; color: var(--bz-ds-muted); }
.bz-premade-trays__chevron { flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform 150ms ease; }
.bz-premade-trays__disclosure[open] > .bz-premade-trays__summary .bz-premade-trays__chevron { transform: rotate(180deg); }
.bz-premade-trays__body { padding: 0 16px 16px; }
.bz-premade-trays__items { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.bz-premade-trays__item { display: grid; grid-template-rows: auto 1fr auto auto; align-content: start; min-width: 0; gap: 8px; padding: 10px; border: 1px solid var(--bz-ds-line); border-radius: var(--bz-ds-card); background: var(--bz-ds-canvas); transition: border-color 150ms ease, background-color 150ms ease; }
.bz-premade-trays__item.is-selected { border-color: var(--bz-ds-brand); background: var(--bz-ds-selected); }
.bz-premade-trays__image { position: relative; display: block; min-width: 0; overflow: hidden; border-radius: var(--bz-ds-radius); }
.bz-premade-trays__image img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: inherit; }
.bz-premade-trays__preview { position: absolute; bottom: 4px; right: 4px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: var(--wp--custom--radius--round); background: var(--bz-ds-surface); color: var(--bz-ds-brand); }
.bz-premade-trays__preview svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.7; }
body .bz-premade-trays__name { margin: 0; min-width: 0; font-size: 13px; font-weight: 500; line-height: 1.4; color: inherit; text-decoration: none; overflow-wrap: break-word; }
.bz-premade-trays__name:hover { text-decoration: underline; text-underline-offset: 3px; }
.bz-premade-trays__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 7px; line-height: 1.4; }
.bz-premade-trays__price strong { font-size: 14px; font-weight: 500; color: var(--bz-ds-brand); white-space: nowrap; }
.bz-premade-trays__price del { font-size: 11px; color: var(--bz-ds-muted); white-space: nowrap; }
.bz-premade-trays__price small { flex-basis: 100%; font-size: 11px; color: var(--bz-ds-muted); }
body .bz-premade-trays__choose { display: flex; justify-content: center; align-items: center; gap: 6px; box-sizing: border-box; width: 100%; min-height: 44px; margin: 2px 0 0; padding: 8px; border: 1px solid var(--bz-ds-control); border-radius: var(--bz-ds-radius); background: transparent; color: var(--bz-ds-brand); font: 500 12px/1.3 var(--wp--preset--font-family--body); cursor: pointer; }
.bz-premade-trays__choose svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
body .bz-premade-trays__choose[aria-pressed=true] { background: var(--bz-ds-brand); border-color: var(--bz-ds-brand); color: var(--wp--preset--color--white); }
body .bz-premade-trays__choose:not([aria-pressed=true]):hover { border-color: var(--bz-ds-brand); background: var(--wp--preset--color--secondary-hover, var(--bz-ds-selected)); }
body .bz-premade-trays__selection { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 10px; margin: 12px 0 0; padding-top: 10px; border-top: 1px solid var(--bz-ds-line); font-size: 12px; line-height: 1.5; color: var(--bz-ds-brand); }
body .bz-premade-trays__selection button { min-height: 44px; border: 0; padding: 8px 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.bz-premade-trays :is(button,a,select,summary):focus-visible { outline: 2px solid var(--bz-ds-focus); outline-offset: 3px; }
.bz-premade-trays__fallback { display: grid; gap: 6px; font-size: 13px; }
.bz-premade-trays__fallback select { box-sizing: border-box; width: 100%; min-height: 44px; color: inherit; background: var(--bz-ds-canvas); border: 1px solid var(--bz-ds-control); border-radius: var(--bz-ds-radius); font: inherit; }
@media(max-width:600px) {
  body .bz-premade-trays__summary { padding: 12px; }
  .bz-premade-trays__body { padding: 0 12px 12px; }
  .bz-premade-trays__items { gap: 8px; }
  .bz-premade-trays__item { padding: 8px; }
  body .bz-premade-trays__name { font-size: 12px; }
  .bz-premade-trays__price strong { font-size: 13px; }
}
@media(prefers-reduced-motion:reduce) { .bz-premade-trays__item,.bz-premade-trays__chevron { transition: none; } }

.bz-premade-trays__saving .bz-tier-saving-percent{display:inline-block;padding:.15rem .45rem;border-radius:var(--bz-bundle-radius,6px);background:var(--wp--preset--color--brand,#244f3e);color:#fff;font-size:.75rem;font-weight:500;line-height:1.5;margin-right:4px}
