/* The Bear Cup bundle options retain the theme's native radio and cart behavior. */
.product__selectors.product__selectors--tbc-bundles {
  grid-template-columns: minmax(0, 1fr);
  margin-right: 0;
}
.product__selectors--tbc-bundles .selector-wrapper.tbc-bundles {
  grid-column: 1 / -1;
  margin-right: 0;
}
.tbc-bundles {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  color: #173c2f;
  font-family: 'Futura PT', var(--FONT-STACK-BODY);
}
.tbc-bundles .tbc-bundles__fieldset {
  display: block;
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}
.tbc-bundles .tbc-bundles__heading {
  display: block;
  float: none;
  width: 100%;
  margin: 0 0 4px;
  padding: 0;
  color: #173c2f;
  font: 600 22px/1.15 'Futura PT', var(--FONT-STACK-BODY);
  letter-spacing: 0;
  text-transform: none;
}
.tbc-bundles .tbc-bundles__intro {
  margin: 0 0 15px;
  color: #617063;
  font-size: 15px;
  line-height: 1.3;
  letter-spacing: 0;
}
.tbc-bundles .tbc-bundles__options {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  margin: 0;
}
.tbc-bundles .tbc-bundle {
  position: relative;
  min-width: 0;
  margin: 0;
}
.tbc-bundles .tbc-bundle__input {
  position: absolute;
  top: 50%;
  left: 20px;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  overflow: hidden;
  clip-path: inset(50%);
}
.tbc-bundles .tbc-bundle__card {
  position: relative;
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 102px;
  margin: 0;
  padding: 10px 16px 10px 11px;
  border: 1px solid #d8ded4;
  border-radius: 12px;
  background: linear-gradient(110deg, #fffdf9, #f8f7f0);
  color: #173c2f;
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.tbc-bundles .tbc-bundle__input:checked + .tbc-bundle__card {
  border-color: #025b36;
  background: linear-gradient(110deg, #edf4e8, #f8fbf4);
  box-shadow: inset 3px 0 0 #025b36, 0 3px 12px rgb(2 91 54 / 7%);
}
.tbc-bundles .tbc-bundle__input:focus-visible + .tbc-bundle__card {
  outline: 2px solid #025b36;
  outline-offset: 3px;
}
.tbc-bundles .tbc-bundle__media {
  position: relative;
  display: block;
  width: 80px;
  height: 80px;
  overflow: hidden;
  border-radius: 8px;
  background: #fefbf6;
}
.tbc-bundles .tbc-bundle__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tbc-bundles .tbc-bundle__selection {
  position: absolute;
  top: 4px;
  left: 4px;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  border: 1px solid #aebdb0;
  border-radius: 50%;
  background: #fffdf9;
  color: #fff;
  box-shadow: 0 1px 4px rgb(23 60 47 / 8%);
  transition: background-color 180ms ease, border-color 180ms ease;
}
.tbc-bundles .tbc-bundle__selection svg { opacity: 0; }
.tbc-bundles .tbc-bundle__input:checked + .tbc-bundle__card .tbc-bundle__selection {
  border-color: #025b36;
  background: #025b36;
}
.tbc-bundles .tbc-bundle__input:checked + .tbc-bundle__card .tbc-bundle__selection svg { opacity: 1; }
.tbc-bundles .tbc-bundle__input:checked + .tbc-bundle__card .tbc-bundle__image {
  animation: tbc-bundle-reveal 300ms cubic-bezier(.2,.7,.3,1) both;
}
.tbc-bundles .tbc-bundle__description,
.tbc-bundles .tbc-bundle__pricing {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: 3px;
}
.tbc-bundles .tbc-bundle__quantity {
  font-size: 21px;
  font-weight: 600;
  line-height: 1.1;
}
.tbc-bundles .tbc-bundle__name {
  color: #687362;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
  overflow-wrap: break-word;
}
.tbc-bundles .tbc-bundle__saving {
  color: #025b36;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.15;
}
.tbc-bundles .tbc-bundle__pricing {
  align-items: flex-end;
  text-align: right;
  white-space: nowrap;
  padding-left: 5px;
}
.tbc-bundles .tbc-bundle__price {
  color: #173c2f;
  font-size: 18px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
.tbc-bundles .tbc-bundle__unit {
  color: #687362;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.15;
}
.tbc-bundles .tbc-bundle__badge {
  position: absolute;
  top: -9px;
  right: 12px;
  display: inline-block;
  margin: 0;
  padding: 4px 10px;
  border: 1px solid #c79a70;
  border-radius: 3px;
  background: linear-gradient(100deg, #f4e9d8, #ead6b9);
  color: #644c2f;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .01em;
}
.tbc-bundles .tbc-bundle--unavailable .tbc-bundle__media {
  opacity: .55;
}
.tbc-bundles .tbc-bundle__availability {
  color: #6a6259;
  font-size: 12px;
  line-height: 1.15;
}
@keyframes tbc-bundle-reveal {
  from { opacity: .8; transform: scale(.96) translateY(2px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}
@media (hover: hover) {
  .tbc-bundles .tbc-bundle__card:hover { border-color: #025b36; transform: translateY(-1px); }
}
@media (max-width: 450px) {
  .tbc-bundles .tbc-bundle__card {
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: 10px;
    min-height: 94px;
    padding: 10px;
  }
  .tbc-bundles .tbc-bundle__media { width: 72px; height: 72px; }
  .tbc-bundles .tbc-bundle__quantity { font-size: 20px; }
}
@media (max-width: 360px) {
  .tbc-bundles .tbc-bundle__card { gap: 8px; padding-right: 9px; }
  .tbc-bundles .tbc-bundle__pricing { padding-left: 0; }
  .tbc-bundles .tbc-bundle__quantity { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .tbc-bundles .tbc-bundle__card,
  .tbc-bundles .tbc-bundle__selection { transition: none; }
  .tbc-bundles .tbc-bundle__card:hover { transform: none; }
  .tbc-bundles .tbc-bundle__input:checked + .tbc-bundle__card .tbc-bundle__image { animation: none; }
}
