[data-bundle=single],
[data-bundle=multiple],
[data-bundle=buyxgety]{
  display:flex;
  flex-direction:column;
  padding:var(--spacing-24);
  border:1px solid var(--bundle-border-color, var(--color-surface-variant));
  border-radius:var(--bundle-card-radius, var(--radius-product));
  box-shadow:0 var(--bundle-shadow-y, 4px) var(--bundle-shadow-blur, 12px) 0 color-mix(in srgb, var(--bundle-shadow-color, #000000) var(--bundle-shadow-opacity, 0%), transparent);
  background-color:var(--bundle-background-color, var(--color-background));
  gap:var(--spacing-24);
}
/* Single bundle option list layout */
[data-bundle=single] .bundle-options{
  display:flex;
  flex-direction:column;
  gap:var(--bundle-option-spacing, var(--spacing-24));
  width:100%;
}
[data-bundle=single] .bundle-options[data-bundle-options-layout=horizontal]{
  flex-direction:row;
  align-items:stretch;
}
[data-bundle=single] .bundle-options[data-bundle-options-layout=horizontal] .option{
  flex:1 1 0;
  min-width:0;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:var(--spacing-8);
  text-align:center;
}
[data-bundle=single] .bundle-options[data-bundle-options-layout=horizontal] .option > input[ui-slot=radio]{
  position:absolute;
  width:1px;
  height:1px;
  margin:0;
  padding:0;
  opacity:0;
  pointer-events:none;
}
[data-bundle=single] .bundle-options[data-bundle-options-layout=horizontal] .option .quantity,
[data-bundle=single] .bundle-options[data-bundle-options-layout=horizontal] .option .image{
  flex:0 0 auto;
}
[data-bundle=single] .bundle-options[data-bundle-options-layout=horizontal] .option .info{
  width:100%;
  min-width:0;
  flex:none;
  text-align:center;
  align-items:center;
}
[data-bundle=single] .bundle-options[data-bundle-options-layout=horizontal] .option .info .title{
  width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal;
  text-overflow:clip;
  text-align:center;
}
[data-bundle=single] .bundle-options[data-bundle-options-layout=horizontal] .option .info .variants{
  width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
  text-align:center;
}
[data-bundle=single] .bundle-options[data-bundle-options-layout=horizontal] .option .info .bundle-saving{
  width:100%;
  text-align:var(--bundle-option-saving-alignment, center);
}
[data-bundle=single] .bundle-options[data-bundle-options-layout=horizontal] .option .price{
  width:100%;
  align-items:center;
  text-align:center;
}
[data-bundle=single] .option,
[data-bundle=multiple] .option,
[data-bundle=buyxgety] .option{
  display:flex;
  align-items:center;
  gap:var(--spacing-16);
}
[data-bundle=single] label.option,
[data-bundle=multiple] label.option,
[data-bundle=buyxgety] label.option{
  cursor:pointer;
}
[data-bundle=single] label.option{
  padding-top:var(--bundle-option-padding-top, var(--spacing-8));
  padding-bottom:var(--bundle-option-padding-bottom, var(--spacing-8));
  padding-inline:var(--bundle-option-padding-horizontal, var(--spacing-12));
  box-sizing:border-box;
  border:var(--bundle-option-border-width, 1px) solid var(--bundle-option-border-color, transparent);
  border-radius:var(--bundle-option-radius, var(--radius-button));
  background-color:var(--bundle-option-background-color, transparent);
  box-shadow:0 var(--bundle-option-shadow-y, 3px) var(--bundle-option-shadow-blur, 10px) 0 color-mix(in srgb, var(--bundle-option-shadow-color, #000000) var(--bundle-option-shadow-opacity, 0%), transparent);
  transition:background-color .2s ease, border-color .2s ease, box-shadow .2s ease, border-radius .2s ease;
}
[data-bundle=single] label.option:has(input:checked){
  background-color:var(--bundle-selected-background-color, var(--color-surface-container));
  border:var(--bundle-selected-border-width, 1px) solid var(--bundle-selected-border-color, var(--color-surface-variant));
  box-shadow:0 var(--bundle-selected-shadow-y, 3px) var(--bundle-selected-shadow-blur, 10px) 0 color-mix(in srgb, var(--bundle-selected-shadow-color, #000000) var(--bundle-selected-shadow-opacity, 0%), transparent);
  border-radius:var(--bundle-selected-radius, var(--radius-button));
}
[data-bundle=single] .option .quantity,
[data-bundle=single] .option .image,
[data-bundle=multiple] .option .quantity,
[data-bundle=multiple] .option .image,
[data-bundle=buyxgety] .option .quantity,
[data-bundle=buyxgety] .option .image{
  display:flex;
  align-items:center;
  justify-content:center;
  width:80px;
  height:100%;
  overflow:hidden;
  border-radius:var(--radius-product);
  background-color:var(--color-surface-container);
  font:var(--font-title-md);
  aspect-ratio:1/1;
}
[data-bundle=single] .option .quantity img,
[data-bundle=single] .option .image img,
[data-bundle=multiple] .option .quantity img,
[data-bundle=multiple] .option .image img,
[data-bundle=buyxgety] .option .quantity img,
[data-bundle=buyxgety] .option .image img{
  -o-object-fit:cover;
     object-fit:cover;
}

[data-bundle=single] .option .bundle-option-image{
  position:relative;
  overflow:visible;
  background-color:var(--color-surface-container);
}
[data-bundle=single] .option .bundle-option-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
}
[data-bundle=single] .option .bundle-option-badge{
  position:absolute;
  top:calc(var(--bundle-option-badge-overlap, 5px) * -1);
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:var(--bundle-option-badge-background-color, #111111);
  color:var(--bundle-option-badge-text-color, #ffffff);
  font-size:11px;
  font-weight:700;
  line-height:1;
  box-sizing:border-box;
  white-space:nowrap;
}
[data-bundle=single][data-bundle-badge-position=left] .option .bundle-option-badge{
  left:calc(var(--bundle-option-badge-overlap, 5px) * -1);
}
[data-bundle=single][data-bundle-badge-position=right] .option .bundle-option-badge{
  right:calc(var(--bundle-option-badge-overlap, 5px) * -1);
}
[data-bundle=single] label.option:has(input:checked) .bundle-option-badge{
  background:var(--bundle-selected-option-badge-background-color, #111111);
  color:var(--bundle-selected-option-badge-text-color, #ffffff);
}
[data-bundle=single] .option .info,
[data-bundle=multiple] .option .info,
[data-bundle=buyxgety] .option .info{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:var(--spacing-8);
}
[data-bundle=single] .option .info .title,
[data-bundle=multiple] .option .info .title,
[data-bundle=buyxgety] .option .info .title{
  display:block;
  overflow:hidden;
  font:var(--font-title-md);
  text-overflow:ellipsis;
  white-space:nowrap;
}
[data-bundle=single] .option .info .variants,
[data-bundle=multiple] .option .info .variants,
[data-bundle=buyxgety] .option .info .variants{
  color:var(--color-on-surface-variant);
}
[data-bundle=single] .option .price,
[data-bundle=multiple] .option .price,
[data-bundle=buyxgety] .option .price{
  display:flex;
  flex-direction:column;
  gap:var(--spacing-4);
  text-align:end;
}
[data-bundle=single] .option .price .original,
[data-bundle=multiple] .option .price .original,
[data-bundle=buyxgety] .option .price .original{
  font:var(--font-title-md);
}
[data-bundle=single] .option .price .compare-at,
[data-bundle=multiple] .option .price .compare-at,
[data-bundle=buyxgety] .option .price .compare-at{
  opacity:0.5;
  -webkit-text-decoration:line-through;
  text-decoration:line-through;
}
[data-bundle=single] .free-heading,
[data-bundle=multiple] .free-heading,
[data-bundle=buyxgety] .free-heading{
  display:flex;
  align-items:center;
  gap:var(--spacing-4);
  font:var(--font-body-lg);
}
[data-bundle=single] .free-heading i,
[data-bundle=multiple] .free-heading i,
[data-bundle=buyxgety] .free-heading i{
  font-size:24px;
}
[data-bundle=single] .items,
[data-bundle=multiple] .items,
[data-bundle=buyxgety] .items{
  display:flex;
  flex-direction:column;
  gap:var(--spacing-24);
}
@media (max-width: 769px){
  [data-bundle=single] .option,
  [data-bundle=multiple] .option,
  [data-bundle=buyxgety] .option{
    gap:var(--spacing-12);
  }
  [data-bundle=single] .option:has(.variants:nth-child(2)),
  [data-bundle=multiple] .option:has(.variants:nth-child(2)),
  [data-bundle=buyxgety] .option:has(.variants:nth-child(2)){
    align-items:flex-start;
  }
  [data-bundle=single] .option .quantity,
  [data-bundle=single] .option .image,
  [data-bundle=multiple] .option .quantity,
  [data-bundle=multiple] .option .image,
  [data-bundle=buyxgety] .option .quantity,
  [data-bundle=buyxgety] .option .image{
    width:40px;
    height:auto;
    border-radius:calc(var(--radius-product) * 0.5);
    font:var(--font-title-sm);
  }
  [data-bundle=single] .option .info .title,
  [data-bundle=multiple] .option .info .title,
  [data-bundle=buyxgety] .option .info .title{
    font:var(--font-title-sm);
  }
  [data-bundle=single] .option .info .variants,
  [data-bundle=multiple] .option .info .variants,
  [data-bundle=buyxgety] .option .info .variants{
    font:var(--font-body-sm);
  }
  [data-bundle=single] .free-heading,
  [data-bundle=multiple] .free-heading,
  [data-bundle=buyxgety] .free-heading{
    font:var(--font-body-md);
  }
  [data-bundle=single] .free-heading i,
  [data-bundle=multiple] .free-heading i,
  [data-bundle=buyxgety] .free-heading i{
    font-size:16px;
  }
}
[data-bundle=single] .head,
[data-bundle=multiple] .head,
[data-bundle=buyxgety] .head{
  display:flex;
  flex-direction:column;
  gap:var(--spacing-24);
}
[data-bundle=single] .head .title,
[data-bundle=multiple] .head .title,
[data-bundle=buyxgety] .head .title{
  font:var(--font-title-lg);
  text-align:center;
}

[data-bundle=single] .bundle-saving,
[data-bundle=multiple] .bundle-saving,
[data-bundle=buyxgety] .bundle-saving{
  color:var(--color-on-surface-variant);
  font:var(--font-body-sm);
  text-align:center;
}

/* Savings shown inside bundle options */
[data-bundle=single] .option .info .bundle-saving{
  display:block;
  color:var(--bundle-option-saving-color, var(--color-on-surface-variant));
  font-size:var(--bundle-option-saving-font-size, 13px);
  font-weight:var(--bundle-option-saving-font-weight, 400);
  line-height:1.3;
  text-align:var(--bundle-option-saving-alignment, left);
  padding-top:var(--bundle-option-saving-padding-top, 0px);
  padding-bottom:var(--bundle-option-saving-padding-bottom, 0px);
  padding-inline:var(--bundle-option-saving-padding-horizontal, 0px);
}
[data-bundle=multiple] .option .info .bundle-saving,
[data-bundle=buyxgety] .option .info .bundle-saving{
  display:block;
  color:var(--color-on-surface-variant);
  font-size:13px;
  line-height:1.3;
  text-align:start;
}
[data-bundle=single] .head .images,
[data-bundle=multiple] .head .images,
[data-bundle=buyxgety] .head .images{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:var(--spacing-16);
}
[data-bundle=single] .head .images .image,
[data-bundle=multiple] .head .images .image,
[data-bundle=buyxgety] .head .images .image{
  width:80px;
  height:auto;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:var(--radius-product);
}
[data-bundle=single] .head .images .image img,
[data-bundle=multiple] .head .images .image img,
[data-bundle=buyxgety] .head .images .image img{
  -o-object-fit:cover;
     object-fit:cover;
}
[data-bundle=single] .head .images .free,
[data-bundle=multiple] .head .images .free,
[data-bundle=buyxgety] .head .images .free{
  display:flex;
  align-items:center;
  justify-content:center;
  background-color:var(--color-surface-container);
  color:var(--color-on-surface-variant);
}
[data-bundle=single] .head .images .free i,
[data-bundle=multiple] .head .images .free i,
[data-bundle=buyxgety] .head .images .free i{
  font-size:24px;
}
[data-bundle=single] .head .images .plus,
[data-bundle=multiple] .head .images .plus,
[data-bundle=buyxgety] .head .images .plus{
  color:var(--color-on-surface-variant);
  font:var(--font-title-lg);
}
@media (max-width: 769px){
  [data-bundle=single] .head .title,
  [data-bundle=multiple] .head .title,
  [data-bundle=buyxgety] .head .title{
    font:var(--font-title-md);
  }
  [data-bundle=single] .head .images .image,
  [data-bundle=multiple] .head .images .image,
  [data-bundle=buyxgety] .head .images .image{
    width:40px;
    border-radius:calc(var(--radius-product) * 0.5);
  }
  [data-bundle=single] .head .images .free i,
  [data-bundle=multiple] .head .images .free i,
  [data-bundle=buyxgety] .head .images .free i{
    font-size:16px;
  }
}
[data-bundle=single] .total,
[data-bundle=multiple] .total,
[data-bundle=buyxgety] .total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:var(--spacing-16) var(--spacing-24);
  border-radius:var(--radius-button);
  background-color:var(--color-surface-container);
  gap:var(--spacing-16);
  font:var(--font-label-lg);
}
[data-bundle=single] .total .value,
[data-bundle=multiple] .total .value,
[data-bundle=buyxgety] .total .value{
  display:flex;
  gap:var(--spacing-4);
}
[data-bundle=single] .total .value .compare-at,
[data-bundle=multiple] .total .value .compare-at,
[data-bundle=buyxgety] .total .value .compare-at{
  opacity:0.5;
  -webkit-text-decoration:line-through;
  text-decoration:line-through;
}
@media (max-width: 769px){
  [data-bundle=single] .total,
  [data-bundle=multiple] .total,
  [data-bundle=buyxgety] .total{
    padding-inline:var(--spacing-16);
  }
}

/* Bundle presentation styles */
[data-bundle-style="compact"]{
  --bundle-pad: 16px;
  --bundle-gap: 12px;
  --bundle-row-gap: 12px;
  --bundle-thumb: 56px;
  --bundle-radius: 18px;
}
[data-bundle-style="standard"]{
  --bundle-pad: 24px;
  --bundle-gap: 24px;
  --bundle-row-gap: 24px;
  --bundle-thumb: 80px;
  --bundle-radius: var(--radius-product);
}
[data-bundle-style="minimal"]{
  --bundle-pad: 4px;
  --bundle-gap: 14px;
  --bundle-row-gap: 18px;
  --bundle-thumb: 48px;
  --bundle-radius: 0px;
  border-width: 0 !important;
  padding-inline: 0 !important;
}

[data-bundle-style] {
  padding: var(--bundle-pad) !important;
  gap: var(--bundle-gap) !important;
}
[data-bundle-style] .items{
  gap: var(--bundle-row-gap) !important;
}
[data-bundle-style] .option .quantity,
[data-bundle-style] .option .image{
  width: var(--bundle-thumb) !important;
  min-width: var(--bundle-thumb);
  height: var(--bundle-thumb) !important;
  aspect-ratio: 1 / 1;
  border-radius: var(--bundle-radius);
}
[data-bundle-style="compact"] .option .info .title{
  font-size: 16px;
  line-height: 1.25;
}
[data-bundle-style="compact"] .option .price .original{
  font-size: 16px;
  line-height: 1.25;
}
[data-bundle-style="compact"] .option{
  gap: 12px !important;
}
[data-bundle-style="minimal"] .option{
  gap: 10px !important;
}

@media (max-width: 769px){
  [data-bundle-style="compact"]{
    --bundle-pad: 12px;
    --bundle-gap: 10px;
    --bundle-row-gap: 10px;
    --bundle-thumb: 48px;
  }
  [data-bundle-style="standard"]{
    --bundle-pad: 16px;
    --bundle-gap: 16px;
    --bundle-row-gap: 16px;
    --bundle-thumb: 56px;
  }
  [data-bundle-style="minimal"]{
    --bundle-pad: 0px;
    --bundle-gap: 10px;
    --bundle-row-gap: 14px;
    --bundle-thumb: 44px;
  }
}


/* Unselected option text appearance controls */
[data-bundle=single] label.option:not(:has(input:checked)) .quantity span:not(.bundle-option-badge),
[data-bundle=single] label.option:not(:has(input:checked)) .info .title,
[data-bundle=single] label.option:not(:has(input:checked)) .info .variants,
[data-bundle=single] label.option:not(:has(input:checked)) .price .compare-at,
[data-bundle=single] label.option:not(:has(input:checked)) .price .original{
  color:var(--bundle-option-text-color, inherit);
  font-size:var(--bundle-option-text-font-size, inherit);
  font-weight:var(--bundle-option-text-font-weight, inherit);
  text-align:var(--bundle-option-text-alignment, start);
}

/* Selected option text appearance controls */
[data-bundle=single] label.option:has(input:checked){
  padding-top:var(--bundle-selected-text-padding-top, var(--spacing-8));
  padding-bottom:var(--bundle-selected-text-padding-bottom, var(--spacing-8));
  padding-inline:var(--bundle-selected-text-padding-horizontal, var(--spacing-12));
}
[data-bundle=single] label.option:has(input:checked) .quantity span:not(.bundle-option-badge),
[data-bundle=single] label.option:has(input:checked) .info .title,
[data-bundle=single] label.option:has(input:checked) .info .variants,
[data-bundle=single] label.option:has(input:checked) .price .original{
  color:var(--bundle-selected-text-color, inherit);
  font-size:var(--bundle-selected-text-font-size, inherit);
  font-weight:var(--bundle-selected-text-font-weight, inherit);
}
[data-bundle=single] label.option:has(input:checked) .info{
  text-align:var(--bundle-selected-text-alignment, start);
}


/* Bundle section spacing controls */
/* The variables are always populated: custom values when enabled, otherwise the active preset padding. */
[data-bundle-style]{
  padding-top:var(--bundle-section-padding-top, var(--bundle-pad)) !important;
  padding-bottom:var(--bundle-section-padding-bottom, var(--bundle-pad)) !important;
  padding-left:var(--bundle-section-padding-horizontal, var(--bundle-pad)) !important;
  padding-right:var(--bundle-section-padding-horizontal, var(--bundle-pad)) !important;
}

/* Auto keeps each preset's existing border behavior; explicit values override it. */
[data-bundle-style]{
  border-width:var(--bundle-border-width, 1px) !important;
}
[data-bundle-style="minimal"]{
  border-width:var(--bundle-border-width, 0px) !important;
}

@media (max-width: 769px){
  [data-bundle-style]{
    padding-top:var(--bundle-section-mobile-padding-top, var(--bundle-pad)) !important;
    padding-bottom:var(--bundle-section-mobile-padding-bottom, var(--bundle-pad)) !important;
    padding-left:var(--bundle-section-mobile-padding-horizontal, var(--bundle-pad)) !important;
    padding-right:var(--bundle-section-mobile-padding-horizontal, var(--bundle-pad)) !important;
  }
}
